Java - La classe HashSet

HashSet étend AbstractSet et implémente l'interface Set. Il crée une collection qui utilise une table de hachage pour le stockage.

Une table de hachage stocke des informations à l'aide d'un mécanisme appelé hashing. Dans le hachage, le contenu informationnel d'une clé est utilisé pour déterminer une valeur unique, appelée son code de hachage.

Le code de hachage est ensuite utilisé comme index dans lequel les données associées à la clé sont stockées. La transformation de la clé en son code de hachage est effectuée automatiquement.

Voici la liste des constructeurs fournis par la classe HashSet.

N ° Sr. Constructeur et description
1

HashSet( )

Ce constructeur construit un HashSet par défaut.

2

HashSet(Collection c)

Ce constructeur initialise le jeu de hachage en utilisant les éléments de la collection c.

3

HashSet(int capacity)

Ce constructeur initialise la capacité du jeu de hachage à la capacité de valeur entière donnée. La capacité augmente automatiquement à mesure que des éléments sont ajoutés au HashSet.

4

HashSet(int capacity, float fillRatio)

Ce constructeur initialise à la fois la capacité et le taux de remplissage (également appelé capacité de charge) du jeu de hachage à partir de ses arguments.

Ici, le taux de remplissage doit être compris entre 0,0 et 1,0, et il détermine le niveau de remplissage du jeu de hachage avant qu'il ne soit redimensionné vers le haut. Plus précisément, lorsque le nombre d'éléments est supérieur à la capacité de l'ensemble de hachage multipliée par son taux de remplissage, l'ensemble de hachage est développé.

Outre les méthodes héritées de ses classes parentes, HashSet définit les méthodes suivantes -

N ° Sr. Méthode et description
1

boolean add(Object o)

Ajoute l'élément spécifié à cet ensemble s'il n'est pas déjà présent.

2

void clear()

Supprime tous les éléments de cet ensemble.

3

Object clone()

Renvoie une copie superficielle de cette instance HashSet: les éléments eux-mêmes ne sont pas clonés.

4

boolean contains(Object o)

Renvoie true si cet ensemble contient l'élément spécifié.

5

boolean isEmpty()

Renvoie true si cet ensemble ne contient aucun élément.

6

Iterator iterator()

Renvoie un itérateur sur les éléments de cet ensemble.

sept

boolean remove(Object o)

Supprime l'élément spécifié de cet ensemble s'il est présent.

8

int size()

Renvoie le nombre d'éléments de cet ensemble (sa cardinalité).

Exemple

Le programme suivant illustre plusieurs des méthodes prises en charge par HashSet -

import java.util.*;
public class HashSetDemo {

   public static void main(String args[]) {
      // create a hash set
      HashSet hs = new HashSet();
      
      // add elements to the hash set
      hs.add("B");
      hs.add("A");
      hs.add("D");
      hs.add("E");
      hs.add("C");
      hs.add("F");
      System.out.println(hs);
   }
}

Cela produira le résultat suivant -

Production

[A, B, C, D, E, F]