Junior — Middle
Hoe wordt de hashCode berekend bij het gebruik van een Map-collectie?
sobes.tech AI
Antwoord van AI
In de Map-collectie in Java wordt de hashCode-methode berekend op basis van sleutel-waardeparen. Voor elk paar wordt hashCode op de sleutel en de waarde aangeroepen, en deze waarden worden gecombineerd (meestal opgeteld) om de uiteindelijke hashCode van de hele Map te verkrijgen.
Dit ziet er ongeveer zo uit:
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;
Dus, de hashCode van de Map hangt af van de inhoud en niet van de volgorde van de elementen. Dit is belangrijk voor correct werken met hash-structuren en voor het vergelijken van Maps op inhoud.