Sobes.tech
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.