Différence entre HashSet et HashMap

HashMap et HashSet font partie du framework Collection, ce qui nous permet de travailler avec une collection d’objets. Le framework Collection a ses propres interfaces et classes d’implémentation. En générale, une collection est divisée en interfaces Set, List et Queue. Toutes ces interfaces ont également leur propre propriété, sauf qu’elles proviennent d’une collection telle que Set permet la collecte d’objets, mais n’autorise pas les doublons, List permet la duplication en même temps que l’indexation.
 
 

Qu'est-ce que l'abstraction de données dans POOQu’est-ce que l’abstraction de données dans la POO?L’abstraction est l’un des concepts clés dans les langages de programmation orientée objet (POO). Son objectif principal est de gérer la complexité en masquant les…Lire plus  

Table de comparaison
HashSetHashMap
ImplémentationHashSet implémente l’interface SetHashMap implémente l’interface Map
StockageStocke des valeurs simplesStocke des données dans des paires clé/valeur
ObjetLa méthode d’ajout est add()La méthode d’ajout est put()
DuplicationLes valeurs en double ne sont pas acceptées (uniquement les valeurs uniques)Les clés en double ne sont pas acceptées (uniquement les clés uniques), mais permet les valeurs en double.
SynchronisationLa version synchronisée peut être obtenue à l’aide de Collections.synchronizedSet()La version synchronisée peut être obtenue à l’aide de Collections.synchronizedMap()

 

Exemple de HashSet en Java
import java.util.*;

public class HashSetExemple {
	public static void main(String args[])
	{
		//déclaration d'un objet HashSet
		Set<String> hashset = new HashSet<String>();
		//insertion d'éléments
		 hashset.add("item1");
		hashset.add("item2");
		hashset.add("item3");
		hashset.add(null);

		//itération un par un
		Iterator i = hashset.iterator();
		while(i.hasNext())
		{
			System.out.println(i.next());
		}
	}
}

La sortie

[item2, item1, item3]
Différence entre généralisation, héritage et spécialisationDifférence entre généralisation, héritage et spécialisationQuelle est la différence entre généralisation, héritage et spécialisation ? – Des termes tels que super-classe, sub-classe ou héritage apparaissent quand on pense à l’approche…Lire plus  

Exemple de HashMap en Java
import java.util.*;
 
public class HashMapExemple
{
	public static void main(String args[])
	{
		 //Création de HashMap
		 HashMap<Integer, String> hashmap = new HashMap<Integer, String>();
		 hashmap.put(1, "Item1");
		hashmap.put(2, "Item2");
		hashmap.put(3, "Item3");

		for(Map.Entry m : hashmap.entrySet())
		{
			System.out.println(m.getKey()+" "+m.getValue());
		}
	}
}

La sortie

[1 = Item2, 2 = Item1, 3 = Item3]
QCM-JavaQCM Java – Programmation Orientée ObjetQCM sur Java avec des réponses pour la préparation des entretiens d’embauche, des tests en ligne, aux examens et aux certifications. Ces questions et réponses…Lire plus
Les points communs entre HashSet et HashMap
  • HashMap et HashSet ne sont pas synchronisés, ce qui signifie qu’ils ne conviennent pas aux opérations thread-safe jusqu’à ce qu’ils soit synchronisés explicitement.
  • Ces deux classes ne garantissent pas que l’ordre de leurs éléments restera constant dans le temps.
  • Les deux offrent des performances constantes dans le temps pour les opérations de base telles que l’ajout, la suppression d’éléments, etc.

 

Partagez cet article

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *