Sobes.tech
Junior — Middle

Welke standaard hashCode wordt standaard gebruikt voor lijsten in Java?

sobes.tech AI

Antwoord van AI

In Java is de standaardmethode hashCode() voor lijsten (bijvoorbeeld voor ArrayList) zodanig geïmplementeerd dat deze rekening houdt met de volgorde en inhoud van de lijstitems. Het wordt berekend volgens een formule die vergelijkbaar is met die voor collecties in AbstractList:

int hashCode = 1;
for (E e : list)
    hashCode = 31 * hashCode + (e == null ? 0 : e.hashCode());

Hierdoor hangt de hash-code af van de hash-codes van alle elementen in de lijst en hun volgorde. Dit zorgt ervoor dat twee lijsten met dezelfde elementen in dezelfde volgorde dezelfde hashCode() hebben.