Comment implémenter Map Interface en Java?



Cet article sur Java Map Inteface vous aidera à comprendre le fonctionnement de Map en Java et vous présentera différentes classes qui implémentent Map Interface

L'un des sujets les plus intéressants de Java est l'interface Map quireprésente un mappage entre une clé et une valeur.Il est souvent mal compris comme étant un sous-type de interface en Java.Cet article sur l'interface de carte Java vous aidera à comprendre et à maîtriser le fonctionnement d'une carte dans .

Les sujets abordés dans cet article sont énumérés ci-dessous:





Interface de carte Java

Une carte en Java est un objet qui mappe les clés aux valeurs et est conçu pour les recherches plus rapides. Les données sont stockées dans des paires clé-valeur et chaque clé est unique. Chaque clé correspond à une valeur, d'où le nom de la carte. Ces paires clé-valeur sont appelées entrées de mappage.

Cartes en Java - Interface de carte Java - Edureka



dans le , java.util.Map est un qui comprend des signatures de méthode pour l'insertion, la suppression et la récupération d'éléments basés sur une clé. Avec de telles méthodes, c'est un outil parfait à utiliser pour le mappage d'associations clé-valeur comme les dictionnaires.

Caractéristiques de l'interface cartographique

  • L'interface Map n'est pas un véritable sous-type d'interface Collection, par conséquent,ses caractéristiques et ses comportements sont différents du reste des types de collection.
  • Il offretrois vues de collection - ensemble de clés, ensemble de mappages clé-valeur et collection de valeurs.
  • ÀCartene peut pas contenir de clés en double et chaque clé peut correspondre à au plus une valeur. Certaines implémentations autorisent une clé nulle et une valeur nulle ( HashMap et LinkedHashMap ) mais certains ne le font pas ( TreeMap).
  • L’interface Map ne garantit pas l’ordre des mappages, mais cela dépend de l’implémentation. Par exemple, HashMap ne garantit pas l'ordre des mappages mais TreeMap Est-ce que.
  • La classe AbstractMap fournit une implémentation squelettique de l'interface Java Map et de la plupart des éléments concrets de Map Des classes étendre la classe AbstractMap et implémenter les méthodes requises.

Maintenant que vous avez une idée de l'interface de la carte c'est, allons-y et vérifions la hiérarchie de Java Map.

Hiérarchie des cartes Java

Il existe deux interfaces qui implémentent la carte en java: Map et SortedMap. Et les classes d'implémentation populaires de Map en Java sont HashMap, TreeMap , et LinkedHashMap. La hiérarchie de Java Map est donnée ci-dessous:



Avant de découvrir les trois classes d'implémentation de l'interface de carte Java mentionnées ci-dessus, voici quelques méthodes courantes que vous pouvez rencontrer lorsque vous travaillez avec la carte.

Méthodes dans l'interface de carte Java

Méthodes

tutoriel ssis étape par étape

La description

public put (clé d'objet, valeur d'objet)Cette méthode insère une entrée dans la carte
Publiquevoid putAll (Carte carte)Cette méthode insère la carte spécifiée dans cette carte
public Object remove (clé d'objet)Il est utilisé pour supprimer une entrée pour la clé spécifiée
public Set keySet ()Il renvoie la vue Set contenant toutes les clés
public Set entrySet ()Il renvoie la vue Set contenant toutes les clés et valeurs
vide clair ()Il est utilisé pour réinitialiser la carte
public void putIfAbsent (clé K, valeur V)Il insère la valeur spécifiée avec la clé spécifiée dans la carte uniquement si elle n'est pas déjà spécifiée
public Object get (clé d'objet)Il renvoie la valeur de la clé spécifiée
public boolean containsKey (clé d'objet)
Il est utilisé pour rechercher la clé spécifiée sur cette carte

Implémentations de Map

Il y a plusieurs qui implémentent la carte Javamais trois implémentations majeures et générales sontHashMap, TreeMap et LinkedHashMap.Voyons les caractéristiques et les comportements de chaque implémentation avec un exemple

Classe HashMap

La classe la plus courante qui implémente l'interface Java Map est HashMap. Il s'agit d'une implémentation basée sur une table de hachage de l'interface Map.Il implémente toutes les opérations de la carteet autorise les valeurs nulles et une clé nulle. De plus, cette classe ne maintient aucun ordre parmi ses éléments. Voici un exemple de programme illustrant la classe HashMap.

package MyPackage import java.util. * class HashMapExample {public static void main (String [] args) {Map courses = new HashMap () // Ajout de cours. courses.put ('Java Courses', new Integer (6)) courses.put ('Cloud Courses', new Integer (7)) courses.put ('Programming Courses', new Integer (5)) courses.put (' Cours de science des données ', new Integer (2)) System.out.println (' Total courses: '+ courses.size ()) Setst = courses.entrySet () for (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println () String searchKey = 'Cours Java' if (courses.containsKey (searchKey)) System.out.println ('Total trouvé' + courses.get (searchKey) + '' + searchKey)}}

Production

Total de cours: 4 Cours Cloud: 7 Cours de programmation: 5 Cours de science des données: 2 Cours Java: 6 Total trouvé 6 Cours Java

Dans le programme ci-dessus, j'ai utilisé de nombreuses méthodes mentionnées dans le tableau. Premièrement, le mettre() La méthode insère 4 entrées dans la carte et la Taille() La méthode de l'étape suivante affiche la taille de la carte (total des paires clé-valeur). Après cela, à l'étape suivante, le entrySet () La méthode renvoie toutes les paires clé-valeur. Le programme montre également comment utiliser avoir() pour rechercher une valeur à l'aide de la clé associée.

Passons à la classe suivante qui implémente l'interface de carte Java - TreeMap.

Classe TreeMap

Cette implémentation utilise l'arbre rouge-noir comme sous-jacent Structure de données . Un TreeMap est trié selon l'ordre naturel de ses clés, ou par un comparateur fourni au moment de la création. Cette mise en œuvre n'autorise pas les valeurs nulles mais maintientordre sur ses éléments. Voici un exemple de programme illustrant la classe TreeMap.

package MyPackage import java.util. * class TreeMapEx {public static void main (String [] args) {Map courses = new TreeMap () // Ajout de cours. courses.put ('Cours Java', nouvel Integer (3)) courses.put ('Cours AWS', nouvel Integer (7)) courses.put ('Cours de programmation', nouvel Integer (8)) courses.put (' Cours de science des données ', new Integer (2)) System.out.println (' Total courses: '+ courses.size ()) Setst = courses.entrySet () for (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println ()}}

Production

Total des cours: 4 Cours AWS: 7 Cours de science des données: 2 Cours Java: 3 Cours de programmation: 8

Dans la sortie, les éléments de la carte sont imprimés dans un ordre lexicographique strict, qui n'apparaît pas dans les exemples précédents de HashMap. Le prochain cours dont nous allons discuter est LinkedHashMap .

Classe LinkedHashMap

Comme son nom l'indique, cette implémentation de l'interface Java Map utilise une table de hachage et une liste liée comme structures de données sous-jacentes. Ainsi l'ordre d'un LinkedHashMap estprévisible, avec l'ordre d'insertion comme ordre par défaut. En outre, autorise les valeurs nulles comme dans HashMap. Voici un exemple de programme illustrant la classe TreeMap.

package MyPackage import java.util. * public class LinkedHashMapExample {public static void main (String a []) {LinkedHashMap courses = new LinkedHashMap () courses.put ('Java Courses', new Integer (3)) courses.put (' Cloud Courses ', new Integer (7)) courses.put (' Programming Courses ', new Integer (8)) courses.put (' Data Science Courses ', new Integer (2)) // Il imprime les éléments dans le même ordre // tels qu'ils ont été insérés System.out.println (courses) System.out.println ('Total courses:' + courses.size ()) System.out.println ('Contains key' Hadoop '?' + courses.containsKey ('Hadoop')) System.out.println ('Obtenir la valeur de la clé' Cours de programmation ':' + courses.get ('Cours de programmation')) System.out.println ('La carte est-elle vide?' + Courses.isEmpty ()) System.out.println ('delete element' Cloud Courses ':' + courses.remove ('Cloud Courses')) System.out.println (courses)}}

Production

{Cours Java = 3, Cours Cloud = 7, Cours de programmation = 8, Cours de science des données = 2} Nombre total de cours: 4 Contient la clé «Hadoop»? false Obtention de la valeur pour la clé 'Cours de programmation': 8 La carte est-elle vide? false delete element 'Cloud Courses': 7 {Java Courses = 3, Programming Courses = 8, Data Science Courses = 2}

Le programme d'exemple est assez simple à comprendre. J'ai utilisé quelques méthodes de base pour démontrer le fonctionnement de LinkeHashMap en Java. Comme je l'ai dit plus tôt, à part ces trois classes, il existe de nombreuses autres classes qui implémentent l'interface Java Map.

Ceci nous amène à la fin de cet article «Java Map Interface». J'ai couvert l'un des sujets intéressants de Java, à savoir l'interface Map en Java.

Assurez-vous de pratiquer autant que possible et inversez votre expérience.

Vérifiez 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. Nous sommes là pour vous aider à chaque étape de votre voyage, pour devenir une autre question d'entrevue java, nous proposons un programme conçu pour les étudiants et les professionnels qui souhaitent devenir développeur Java.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de cette «interface java Map» article et nous vous répondrons dans les plus brefs délais.