logo

Différence entre Set et Map en Java

En Java, Ensemble et Carte sont deux interfaces importantes disponibles dans le framework de collection. Les interfaces Set et Map sont utilisées pour stocker une collection d’objets comme une seule unité. La principale différence entre Ensemble et Carte est-ce Ensemble n'est pas ordonné et contient différents éléments, alors que Carte contient les données dans la paire clé-valeur.

Dans cette section, nous discuterons en détail des interfaces Set et Map et verrons également les différences entre elles.

trier la liste des tableaux

Définir l'interface

Le java.util le paquet fournit le Ensemble interface. Set est implémenté en étendant l'interface de collection. Cela ne nous permet pas d'y ajouter le même élément. Il ne conserve pas l'ordre d'insertion car il contient des éléments triés. Pour concevoir l'ensemble mathématique, nous utilisons l'ensemble interface en Java .

Définir vs Carte en Java

Implémentons l'interface Set dans un Java programme.

SetExample.java

 import java.util.*; public class SetExample{ public static void main(String[] args) { // creating LinkedHashSet implementation using the Set Set marvel_movies = new LinkedHashSet(); marvel_movies.add('Captain Marvel'); marvel_movies.add('Thor: Ragnarok'); marvel_movies.add('Captain America: The Winter Soldier'); marvel_movies.add('Ant-Man and the Wasp'); System.out.println(marvel_movies); } } 

Sortir:

Définir vs Carte en Java

Interface cartographique

Carte est une autre interface importante disponible dans l’interface Collection. Ainsi, pour utiliser le Carte interface, nous devons étendre l’interface Collection. Juste comme Ensemble, Carte est également utilisé pour stocker une collection d’objets comme une seule unité. Chaque objet est stocké dans une paire clé-valeur. Nous pouvons facilement accéder à la valeur en utilisant uniquement la clé car chaque valeur est associée à une valeur unique.

taureaux contre bœuf

Nous pouvons facilement rechercher, mettre à jour ou supprimer l'élément en utilisant la carte. Carte et Carte triée sont les deux interfaces, et ArbreCarte , LinkedHashMap , et Carte de hachage sont trois classes de Map.

Si nous devons parcourir une Map, nous devons la convertir en Set car Map ne peut pas être parcourue. Après l'avoir converti en Set, nous pouvons le parcourir en utilisant les méthodes Set comme jeu de clés() et jeu d'entrées() .

convertir un entier en chaîne C++
Définir vs Carte en Java

Voyons comment créer une carte en Java en prenant un exemple.

MapExample.java

 import java.util.LinkedHashMap; public class MapExample { public static void main(String[] args) { // Creating an empty Linked Hash Map LinkedHashMap students = new LinkedHashMap(); // Adding data to Linked Hash Map in key-value pair students.put(101, 'Aaliyah'); students.put(102, 'Taylor'); students.put(103, 'Zayn'); students.put(104, 'Sabrina'); students.put(105, 'Paul'); // Showing size and data of the Linked Hash Map System.out.println('The size of the Linked Hash Map is:- '+ students.size()); System.out.println(students); // Checking whether a certaint key is available or not if (students.containsKey(105)) { String name = students.get(105); System.out.println('The name of the student having Id 105 is:- ' + name); } } } 

Sortir:

Définir vs Carte en Java

Différence entre les interfaces d'ensemble et de carte

Les deux interfaces sont utilisées pour stocker la collection d’objets comme une seule unité. La principale différence entre Set et Map est que Set ne contient que des éléments de données et que Map contient les données dans la paire clé-valeur, donc Map contient la clé et sa valeur.

Comprenons maintenant quelques différences majeures entre les deux.

Oui Non. Ensemble Carte
1. Set est utilisé pour construire l’ensemble mathématique en Java. Map est utilisé pour effectuer le mappage dans la base de données.
2. Il ne peut pas contenir de valeurs répétées. Il peut avoir la même valeur pour différentes clés.
3. Set ne nous permet pas d'y ajouter les mêmes éléments. Chaque classe qui implémente l'interface Set contient uniquement la valeur unique. La carte contient une clé unique et des valeurs répétées. Dans Map, une ou plusieurs clés peuvent avoir les mêmes valeurs, mais deux clés ne peuvent pas être identiques.
4. Nous pouvons facilement parcourir les éléments Set en utilisant la méthode keyset() et la méthode Entryset() de celui-ci. Les éléments de la carte ne peuvent pas être itérés. Nous devons convertir Map en Set pour itérer les éléments.
5. L’ordre d’insertion n’est pas géré par l’interface Set. Cependant, certaines de ses classes, comme LinkedHashSet, conservent l'ordre d'insertion. L'ordre d'insertion n'est pas non plus géré par la carte. Cependant, certaines classes Map comme TreeMap et LinkedHashMap font de même.