Junior — Middle
Koje posledice mogu nastati ako dva objekta imaju istu vrednost heša?
sobes.tech АИ
Одговор од АИ
Ако два објекта имају исту вредност хеша (collision), то може довести до следеће последице:
-
У колекцијама заснованим на хеш табелама (нпр.
HashSet,HashMap), објекти са истим хеш вредностима ће се налазити у истом контејнеру (bucket), што смањује ефикасност операција претраге и уметања. -
Ако методе
equals()нису правилно имплементиране, колекција може погрешно одредити да су објекти различити, дозвољавајући дупликате или, обратно, сматрајући различите објекте као једнаке. -
Уопштено, collision-и хешева не нарушавају исправност рада, али погоршавају перформансе.
Због тога је важно да је метод hashCode() добро распоређен, а equals() и hashCode() усклађени.