Wat is het minimale aantal elementen dat nodig is om een HashMap zonder automatische uitbreiding te initialiseren?
sobes.tech AI
Antwoord van AI
HashMap in Java heeft een initiële capaciteit en een laadfactor, standaard respectievelijk 16 en 0,75. Automatische uitbreiding gebeurt wanneer het aantal elementen de capaciteit maal de laadfactor overschrijdt.
Om automatische uitbreiding bij initialisatie te voorkomen, moet je een capaciteit instellen die het benodigde aantal elementen kan bevatten zonder de drempel te overschrijden.
Het minimale aantal elementen om een HashMap zonder uitbreiding te initialiseren is het maximale aantal dat niet de threshold = capaciteit * laadfactor overschrijdt.
Bijvoorbeeld, met capaciteit=16 en laadfactor=0,75 is de threshold 12. Dit betekent dat tot 12 elementen toevoegen zonder uitbreiding.
Wil je een HashMap initialiseren met een bepaald aantal elementen n zonder uitbreiding, stel initialCapacity >= n / loadFactor.
Voorbeeld:
int expectedElements = 10;
float loadFactor = 0.75f;
int initialCapacity = (int) Math.ceil(expectedElements / loadFactor);
HashMap<String, String> map = new HashMap<>(initialCapacity, loadFactor);