Junior — Middle
Kako se sistem ponaša ako dva različita objekta imaju istu vrednost hashCode()?
sobes.tech АИ
Одговор од АИ
U Javi, metoda hashCode() vraća celobrojnu vrednost koja se koristi, na primer, u hash tabelama (HashMap, HashSet). Ako dva različita objekta imaju istu vrednost hashCode(), to se naziva kolizija.
Sistem se pri tome ponaša ispravno, jer hashCode() je samo sugestija za brzo pretraživanje. Nakon pronalaska fioke sa potrebnim hashCode(), objekti se porede metodom equals(). Ako equals() vrati false, objekti se smatraju različitim, uprkos istom hashCode().
Tako, kolizije hashCode() ne narušavaju ispravnost rada kolekcija, ali mogu smanjiti performanse zbog potrebe za dodatnim poređenjima objekata.