Quelle est la quantité minimale d'éléments nécessaire pour initialiser une HashMap sans extension automatique?
sobes.tech IA
Réponse de l'IA
HashMap en Java possède une capacité initiale et un facteur de charge, respectivement 16 et 0,75 par défaut. L'extension automatique se produit lorsque le nombre d'éléments dépasse la capacité multipliée par le facteur de charge.
Pour éviter l'extension automatique lors de l'initialisation, il faut définir une capacité qui peut contenir le nombre nécessaire d'éléments sans dépasser le seuil.
Le nombre minimal d'éléments pour initialiser un HashMap sans extension est le nombre maximum possible qui ne dépasse pas le seuil = capacité * facteur de charge.
Par exemple, avec une capacité=16 et un facteur de charge=0,75, le seuil est 12. Cela signifie qu'en ajoutant jusqu'à 12 éléments, il n'y aura pas d'extension.
Si vous souhaitez initialiser un HashMap avec un nombre spécifique d'éléments n sans extension, définissez initialCapacity >= n / loadFactor.
Exemple:
int expectedElements = 10;
float loadFactor = 0.75f;
int initialCapacity = (int) Math.ceil(expectedElements / loadFactor);
HashMap<String, String> map = new HashMap<>(initialCapacity, loadFactor);