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
HashSet HashMap
Implémentation HashSet implémente l’interface Set HashMap implémente l’interface Map
Stockage Stocke des valeurs simples Stocke des données dans des paires clé/valeur
Objet La méthode d’ajout est add() La méthode d’ajout est put()
Duplication Les 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.
Synchronisation La 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.

 

Laisser un commentaire

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