Quelle est la taille par défaut d'un 'HashSet' en Java ?

Comprendre la taille par défaut d'un HashSet en Java

Le HashSet en Java est une collection puissante. Elle permet de stocker des éléments uniques sous formes de paires clef/valeur. Une question courante concernant l'utilisation du HashSet est de savoir quelle est sa taille par défaut. La réponse à cette question est 16.

En effet, lorsque nous instancions un HashSet, la taille par défaut assignée par Java est de 16. Cela signifie que le HashSet peut contenir jusqu'à 16 éléments avant d'augmenter sa capacité.

Prenons un exemple simple pour illustrer ce concept :

import java.util.HashSet;
  
public class Main {
   public static void main(String[] args) {
      // Création d’un HashSet
      HashSet<String> hset = new HashSet<String>();
      // Ajout d’éléments
      hset.add("Element1");
      hset.add("Element2");
      hset.add("Element3");
      hset.add("Element4");
      // Ici, 4 éléments ont été ajoutés, mais la capacité du HashSet reste de 16
   }
}

Mas si nous continuons à ajouter des éléments au-delà de sa capacité, la taille du HashSet augmentera automatiquement. Cette augmentation de taille est un processus interne de Java connu sous le nom de "re-hashing". De plus, il est important de noter que le re-hashing peut également se produire si le facteur de remplissage (qui est de 0.75 par défaut) est atteint.

En conclusion, il est essentiel de comprendre la taille par défaut d'un HashSet en Java, c'est-à-dire 16, pour optimiser son utilisation, surtout lors de la manipulation de grands ensembles de données. Il est à noter qu'il est possible de spécifier une taille initiale lors de la création du HashSet pour améliorer les performances si nous savons que nous allons stocker un grand nombre d'éléments.

Trouvez-vous cela utile?