Miks kasutatakse c-s gethashkoodi?

Sisukord:

Miks kasutatakse c-s gethashkoodi?
Miks kasutatakse c-s gethashkoodi?

Video: Miks kasutatakse c-s gethashkoodi?

Video: Miks kasutatakse c-s gethashkoodi?
Video: Set up like S1mple - WITH CFG! 2024, Detsember
Anonim

GetHashCode eksisteerib enamasti ühel eesmärgil: kasutada räsifunktsioonina, kui objekti kasutatakse räsitabelis võtmena. … Räsitabel on andmestruktuur, mis seob väärtuse võtmega.

Mis on GetHashCode'i eesmärk?

Meetod GetHashCode pakub selle räsikoodi algoritmidele, mis vajavad kiiret objektide võrdsuse kontrollimist Räsikoodide kasutamise kohta räsitabelites ja mõne täiendava räsikoodialgoritmi kohta teabe saamiseks vaadake Vikipeedia kirjet Hash Function. Kaks võrdset objekti tagastavad võrdsed räsikoodid.

Kas pean rakendama GetHashCode'i?

Kokkupõrgete tõttu on oluline rakendada nii võrdset koodi kui ka gethashcode, eriti sõnaraamatute kasutamisel. kui kaks objekti tagastavad sama räsikoodi, lisatakse need sõnastikku koos aheldamisega. Juurdepääs elemendile võrdub meetodiga.

Millal peaksime GetHashCode'i alistama?

Kui rakendate viitetüüpi, peaksite kaaluma meetodi Võrdsed alistamist, kui teie tüüp näeb välja nagu põhitüüp, näiteks Point, String, BigNumber ja nii edasi. Alistage meetod GetHashCode, et lubada a tüübil räsitabelis õigesti töötada Lugege võrdsustehterite kohta täiendavaid juhiseid.

Mis on koodis räsi?

Räsimine on lihts alt teatud andmete edastamine läbi valemi, mis annab tulemuse, mida nimetatakse räsiks. See räsi on tavaliselt tähemärkide jada ja valemiga genereeritud räsid on alati sama pikkusega, olenemata sellest, kui palju andmeid sellesse sisestate. Näiteks MD5 valem loob alati 32 märgi pikkused räsi.

Soovitan: