Junior — Middle
Kako se ponaša HashSet kada postoje elementi sa istim hash kodom ključeva?
sobes.tech АИ
Одговор од АИ
HashSet u Javi i Kotlinu zasnovan je na hash tabeli i koristi hash kodove elemenata za brzi pristup. Ako više elemenata ima isti hash kod (kolizija), HashSet ih čuva u jednoj 'kanti' (bucket), obično u obliku povezane liste ili stabla.
Prilikom dodavanja novog elementa sa hash kodom koji već postoji, HashSet upoređuje elemente metodom equals(). Ako element već postoji, ne dodaje se; u suprotnom, dodaje se u kantu.
Stoga, prisustvo istih hash kodova ne dovodi do gubitka podataka, ali može pogoršati performanse operacija zbog potrebe za sekvencijalnim poređenjem elemenata u kanti.