Ar lygūs naudoja maišos kodą?

Ar lygūs naudoja maišos kodą?
Ar lygūs naudoja maišos kodą?
Anonim

HashCode lygybė nereiškia, kad lygybė grąžina true. Sutartis yra ta, kad du objektai, kurie yra lygūs, turi turėti tą patį maišos kodą. Bet jame NĖRA nurodyta, kad du objektai su tuo pačiu maišos kodu turi būti lygūs.

Ar metodas equals naudoja maišos kodą?

Kai kalbame apie lygybės metodą, pagrindinis tikslas yra palyginti dviejų objektų būseną arba objekto turinį.

Ar lygis naudoja maišos kodą C?

Taip yra todėl, kad sistema reikalauja, kad du vienodi objektai turi tą patį maišos kodą. Jei nepaisysite lygybės metodo, kad atliktumėte specialų dviejų objektų palyginimą ir du objektai bus laikomi vienodais pagal šį metodą, dviejų objektų maišos kodas taip pat turi būti toks pat.

Kam naudojamas maišos kodas ir lygybės?

Hashcode metodas grąžina tą pačią maišos reikšmę, kai iškviečiami du objektai, kurie yra lygūs pagal lygybės metodą. Ir jei objektai yra nelygūs, paprastai pateikiamos skirtingos maišos reikšmės.

Ar „HashMap“naudoja maišos kodą ar jam lygų?

Galite nepaisyti to savo klasėje, kad pateiktumėte savo diegimą. HashMap naudoja equals, kad palygintų raktą, ar jie yra vienodi, ar ne. Jei lygus metodas grąžina true, jie yra lygūs, kitaip nėra lygūs. Viename segmente gali būti daugiau nei vienas mazgas, tai priklauso nuo hashCode metodo.