Junior — Middle
Kako se računa hashCode pri korišćenju kolekcije Map?
sobes.tech АИ
Одговор од АИ
U kolekciji Map u Javi, metoda hashCode se računa na osnovu parova ključ-vrednost. Za svaki par se poziva hashCode na ključu i vrednosti, a zatim se ti rezultati kombinuju (obično sabiranjem) da bi se dobio ukupan hashCode cele Map.
Otprilike izgleda ovako:
int hash = 0;
for (Map.Entry<K, V> entry : map.entrySet()) {
hash += (entry.getKey() == null ? 0 : entry.getKey().hashCode()) ^
(entry.getValue() == null ? 0 : entry.getValue().hashCode());
}
return hash;
Dakle, hashCode Map zavisi od sadržaja, a ne od reda elemenata. Ovo je važno za pravilno funkcionisanje sa hash strukturama i za poređenje Map prema sadržaju.