HashSet en Java

HashSet hérite de la classe abstraite AbstractSet et implémente l'interface java.util.Set. La classe HashSet crée une collection d'objets qui utilise une table de hachage pour le stockage.

Une table de hachage stocke les valeurs en leurs donnant une clé unique pour les identifier. Une clé ne peut pas être associée à deux valeurs contrairement à HashMap.

Constructeurs

HashSet a quatre constructeurs:
  • HashSet(): Créer une liste vide de capacité initiale 16.
  • HashSet(Collection <? extends E> c): Créer une nouvelle set contenant les éléments de la collection c. La capacité augemente automatiquement quand les éléments sont ajoutés.
  • HashSet(int capaciteInit): Créer une liste vide de capacité initiale capaciteInit.
  • HashSet(int capaciteInit, float loadFactor): Créer une HashSet vide de capacité initiale et loadFactor qui doit situé entre 0.0 et 1.0, il détermine la taille de la liste avant quelle soit redimensionnée.

Méthodes

La liste des méthodes appart ceux qui sont héritées des classes parents:
  • add(E e): ajouter un élément;
  • remove(Object o): supprimer un élément;
  • clear(): effacer tous les éléments de HashSet;
  • contains(Object o): retourne true si l'objet recherché existe sinon false;
  • isEmpty(): retourne true si la liste est vide;
  • size(): renvoie la taille;
  • iterator(): retourne un objet de type Iterator.

Exemple

import java.util.HashSet;

public class ExempleHashSet {

public static void main(String[] args) {
HashSet<String> hset = new HashSet<String>();
 //ajouter des éléments
hset.add("hôtel");
hset.add("motel");
hset.add("fondouk");
hset.add("ressort");

System.out.println(hset.size());
//supprimer l'objet motel
hset.remove("motel");
//tester l'existance
System.out.println(hset.contains("motel"));
//vérifier si set est vide
System.out.println(hset.isEmpty());

//parcourir HashSet
for(String valeur:
hset)
 System.out.println(valeur);
}
}