Découvrez ce qu'est HashSet en Java et comment démarrer avec!



Cet article sur HashSet en Java vous donnera un aperçu complet de ce qu'est exactement HashSet en Java et comment l'implémenter. Il parlera également des différentes méthodes et constructeurs pris en charge par la classe Java HashSet.

HashSet en Java est l'un des aspects les plus importants de . Il est généralement utilisé pour stocker des valeurs uniques de manière non ordonnée. Au travers de cet article sur HashSet en Java, je vais vous donner une présentation complète de ce qu'est exactement un HashSet et comment vous pouvez l'utiliser dans votre application.

Voici les sujets abordés dans cet article:





Commençons par comprendre ce que sont HashSet en Java.

HashSet en Java



pourquoi avons-nous besoin de la sérialisation en java

java.util.HashSet classe est membre du framework de collections Java quihérite de la classe AbstractSet etmet en œuvre leEnsemble interface . Il implémente implicitement une table de hachage pour créer et stocker une collection d'éléments uniques. Hashtable n'est rien d'autre qu'une instance de la classe HashMap qui utilise un mécanisme de hachage pour stocker les informations dans un HashSet.

Le hachage est le processus de conversion du contenu informationnel en une valeur unique plus communément appelée code de hachage. Ce hashcode est ensuite utilisé pour indexer les données associées à la clé. L'ensemble du processus de transformation de la clé d'information en code de hachage est effectué en interne.

Maintenant, pour une meilleure compréhension de HashSet en Java, permettez-moi de lister quelques-unes de ses fonctionnalités:



  1. Un HashSet en Java n'autorise pas les valeurs en double.
  2. Il peut contenir des valeurs nulles.
  3. HashSet ne suit pas l'ordre d'insertion pour stocker les données mais utilise le hashcode pour indexer les valeurs à l'intérieur.
  4. Ce n'est pas synchronisé ce qui le rend automatiquement non sûr pour les threads.
  5. La classe HashSet implémente également Cloneable etInterfaces sérialisables.

Maintenant que vous savez ce qu'est exactement HashSet en Java, allons plus loin avec cet article et démystifiez les différences entre HashMap et HashSet en Java.

Java HashSet vs HashMap

HashSet HashMap
Met en oeuvrejava.util.Définir l'interfaceMet en oeuvrejava.util.Map
Stocke les données sous forme d'objetsStocke les données sous forme de paire clé-valeur
HashSet ne nécessite qu'un seul paramètre pour son initialisation d'objetIl nécessite deux paramètres (clé, valeur) pour son initialisation d'objet
N'autorise pas les éléments en doubleN'autorise pas les clés en double, mais vous pouvez stocker des valeurs en double
Autorise une seule valeur nulleAutorise une seule clé nulle et n'importe quel nombre de valeurs nulles
HashSet utilise add ()méthode pour ajouter ou stocker des donnéesHashMap utilise la méthode put () pour stocker des données

Maintenant que vous avez une distinction claire entre HashMap et HashSet, concentrons-nous à nouveau sur HashSet et approfondissons-le. Dans la section suivante de cet article, je vais vous présenter la hiérarchie complète de HashSet en Java.

Hiérarchie HashSet en Java

Comme vous pouvez le voir sur le diagramme ci-dessous,La classe HashSet implémente l'interface Set. L'interface Set hérite en outre de l'interface Collection qui étend finalement l'interface Iterable dans un ordre hiérarchique.

Hiérarchie Java HashSet - HashSet en Java - Edureka

Maintenant, pour aller de l'avant avec cet article HashSet en Java, voyons les différents constructeurs pris en charge par cette classe.

Constructeurs de la classe java.util.HashSet

Constructeur La description
HashSet () Il s'agit du constructeur par défaut de la classe HashSet
HashSet (capacité int) Ce constructeur est utilisé pour initialiser la capacité initiale de l'ensemble de hachage. La capacité peut croître dynamiquement avec l'ajout de nouveaux éléments
HashSet (capacité int, float loadCapacity) Ce constructeur est utilisé pour initialiser la capacité initiale du jeu de hachage avec la capacité de charge
HashSet (collection c) Ce constructeur est utilisé pour initialiserl'ensemble de hachage en utilisant les éléments de Collection c

Ce sont les quatre constructeurs de la classe HashSet dans . Voyons maintenant quelles sont les différentes défini dans Java HashSet.

Méthodes de la classe java.util.HashSet

Méthode La description
boolean add (Object obj) Cette méthode permet d'ajouter un élément spécifié dans le HashSet uniquement s'il n'est pas présent
vide clair () Cette méthode aide à supprimer tous les éléments de HashSet
Clone d'objet () Cette méthode retourne une copie superficielle de l'instance HashSet plutôt que des clones des éléments HashSet
boolean contient (Object o) Cette méthode renvoie true si l'élément passé est présent dans le HashSet
booléen isEmpty () Cette méthode retourne true au cas où le HashSet est vide
Itérateur itérateur () Cette méthode retourne un itérateur sur les éléments présents dans le HashSet
boolean remove (objet o) Cette méthode aide à supprimer l'élément spécifié du HashSet s'il est présent
taille int () Cette méthode renvoie le nombre total d'éléments présents dans le HashSet

Outre les méthodes énumérées ci-dessus, la classe HashSet en Java contient également le de ses superclasses.

Essayons maintenant de mettre en œuvre ces méthodes et mouillons-nous dans le codage.

Implémentation de HashSet dans le programme Java

Dans l'exemple ci-dessous, nous allons essayer d'implémenter un certain nombre de méthodes fournies par la classe HashSet.

import java.util.HashSet import java.util. * public class SampleHashSet {public static void main (String [] args) {// Création d'un HashSet Set eduCourses = new HashSet () // Ajout de nouveaux éléments au HashSet eduCourses.add ('Big Data') eduCourses.add ('Node.js') eduCourses.add ('Java') eduCourses.add ('Python') eduCourses.add ('Blockchain') eduCourses.add ('JavaScript') eduCourses. add ('Selenium') eduCourses.add ('AWS') eduCourses.add ('Machine Learning') eduCourses.add ('RPA') // L'ajout d'éléments en double sera ignoré eduCourses.add ('Java') eduCourses.add ('RPA') System.out.println (eduCourses) // Vérifie si le HashSet contient un élément spécifique String myCourse = 'Node.js' if (eduCourses.contains (myCourse)) {System.out.println (myCourse + ' est dans la liste des cours. ')} else {System.out.println (myCourse +' n'est pas dans la liste des cours. ')} // Tri des cours eduCourses à l'aide de List List list = new ArrayList (eduCourses) Collections.sort (list) // Impression des éléments triés du HashSet System.out.println (' Impression des cours dans l'ordre trié à l'aide de List: '+ list) // Suppression d'éléments de HashSet à l'aide de remove () eduCourses.remove (' Python ') // Itération sur les éléments HashSet System.out.println (' Itération sur la liste de cours après suppression Python: ') Iterator i = eduCourses.iterator () while (i.hasNext ()) System.out.println (i.next ()) // Création d'un autre objet de HashSet HashSet eduNewCourses = new HashSet () eduNewCourses.add ( 'Node.js') eduNewCourses.add ('Python') eduNewCourses.add ('Machine Learning') // Suppression de tous les nouveaux éléments de HashSet eduCourses.removeAll (eduNewCourses) System.out.println ('Après avoir appelé removeAll () method courses left: '+ eduCourses) // Suppression d'éléments sur la base de la condition spécifiée eduCourses.removeIf (str-> str.contains (' Java ')) System.out.println (' Après avoir appelé la méthode removeIf (): '+ eduCourses) // Suppression des éléments d'eduCourses qui sont spécifiés dans eduNewCourses eduCourses.retainAll (eduNewCourses) System.out.println ('HashSet après' + 'retenirAll () opération: '+ eduNewCourses) // Suppression de tous les éléments disponibles dans l'ensemble eduCourses.clear () System.out.println (' Après avoir invoqué la méthode clear (): '+ eduCourses)}}

Lorsque vous exécutez le code ci-dessus, il vous donnera la sortie ci-dessous.

sort () c ++

Avec cela, nous arrivons à la fin de cet article. J'espère que j'ai pu garder les concepts nets et clairs. Vous pouvez en savoir plus sur en passant par notre .

Maintenant que vous avez compris ce qu'est un HashSet en Java, consultez le par Edureka, une entreprise d'apprentissage en ligne de confiance avec un réseau de plus de 250 000 apprenants satisfaits répartis dans le monde entier. Le cours de formation et de certification Java J2EE et SOA d'Edureka est conçu pour les étudiants et les professionnels qui souhaitent devenir développeur Java. Le cours est conçu pour vous donner une longueur d'avance dans la programmation Java et vous former aux concepts Java de base et avancés ainsi qu'à divers frameworks Java tels que Hibernate & Spring.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de cet article «HashSet in Java» et nous vous répondrons dans les plus brefs délais.