Maison  >  Article  >  Java  >  Carte d'itération Java

Carte d'itération Java

王林
王林original
2024-08-30 16:07:50809parcourir

Iterate Map extrait un tas de données de la collection Map. Dans la plupart des cas en temps réel, nous disposons d’une grande quantité de données stockées sur une carte. Le développeur souhaite récupérer ces données ; il doit parcourir toute la carte. Une carte est stockée dans le package util.Map. Dans cette rubrique, nous allons découvrir Java Iterate Map.

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Vous pouvez parcourir une carte de 3 manières.

  • pourChac
  • Boucle for normale
  • En boucle avec un itérateur

Qu'est-ce qu'une carte ?

1. Map est une collection structurée par paires de clés et de valeurs. La carte est une interface. Ainsi, Map implémenté dans

  • HashMap
  • LinkedHashMap
  • TreeMap

2. Entry est la sous-interface de Map. Par conséquent, il sera accessible par le nom de l'entrée. Il a renvoyé la vue de collection de la carte. Carte. L'entrée fournit des méthodes pour récupérer la paire clé et valeur.

Méthodes importantes

  • put(Object keyValue, Object objectValue) : Il insère une valeur dans une carte.
  • keySet() : Il est utilisé pour obtenir un jeu de paires de clés.
  • entrySet() : Il est utilisé pour définir les clés et les valeurs de la carte.
  • size() : Il est utilisé pour obtenir la taille de la carte.
  • getKey() : Il est utilisé pour obtenir une valeur clé.
  • getValue() : Il est utilisé pour obtenir une valeur mappée par clé.

Comment fonctionne l'itération dans la carte ?

Comme indiqué ci-dessus, Map peut être itéré avec les boucles forEach, normales for et while. Nous le comprendrons par syntaxe.

1. pourChacun

Syntaxe :

Map<DataType, DataType>map = new HashMap<DataType, DataType>();
map.forEach((key, value) -> //logic

2. pour avec EntrySet()

Syntaxe :

Map<DataType,DataType> map= new HashMap<DataType,DataType>();
for (Map.Entry<DataType,DataType> set: map.entrySet())
//logic
}

3. Boucle While avec un itérateur

Syntaxe :

Map<String, String> mapObj = new HashMap<>();
Iterator iterator= mapObj .entrySet().iterator();
while (iterator.hasNext()) {
//logic
}

En fonction des besoins, nous pouvons parcourir la carte de l'une des manières ci-dessus.

Exemples de Java Iterate Map

Vous trouverez ci-dessous les exemples :

1. Itération de carte avec forEach Exemple

Code :

import java.util.HashMap;
import java.util.Map;
public class ForEachMapIteration {
public static void main(String[] args) {
// creating a hashmap object
Map<Integer, String> names = new HashMap<>();
// adding key and values to hash map
names.put(1, "Paramesh");
names.put(2, "Amardeep");
names.put(3, "Venkatesh");
names.put(4, "Ramesh");
names.put(5, "Suresh");
names.put(3, "Krishna");
names.put(4, "Rama");
names.put(5, "Rajitha");
// iterating key and value with forEach loop
names.forEach((key, value) -> {
System.out.println("ID =>" + key + " Name => " + value);
});
}
}

Sortie :

Carte d'itération Java

Explication :

Comme vous pouvez le voir dans le code ci-dessus, nous avons itéré la carte avec forEach

2. Mapper l'itération de clé et de valeur séparément avec l'exemple de boucle forEach

Code :

package com.map;
import java.util.HashMap;
import java.util.Map;
public class ForEachKeyValueMapIteration {
public static void main(String[] args) {
// creating a hashmap object
Map<Integer, String> names = new HashMap<>();
// adding key and values to hash map
names.put(1, "Paramesh");
names.put(2, "Amardeep");
names.put(3, "Venkatesh");
names.put(4, "Ramesh");
names.put(5, "Suresh");
names.put(3, "Krishna");
names.put(4, "Rama");
names.put(5, "Rajitha");
// iterating ids with forEach loop
names.forEach((key, value) -> {
System.out.println("ID =>" + key);
});
// iterating names with forEach loop
names.forEach((key, value) -> {
System.out.println("Name => " + value);
});
}
}

Sortie :

Carte d'itération Java

Explication :

Comme vous pouvez le voir dans le résultat ci-dessus, nous pouvons également récupérer la clé et les valeurs séparément avec la boucle forEach.

3. Itération de carte avec exemple de boucle for

Code :

<strong> </strong>import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class ForMapIteration {
public static void main(String[] args) {
// creating a hashmap object
Map<Integer, String> names = new HashMap<>();
// adding key and values to hash map
names.put(1, "Paramesh");
names.put(2, "Amardeep");
names.put(3, "Venkatesh");
names.put(4, "Ramesh");
names.put(5, "Suresh");
names.put(3, "Krishna");
names.put(4, "Rama");
names.put(5, "Rajitha");
// iterating key and value with for loop
for (Entry<Integer, String> entry : names.entrySet())
System.out.println("ID => " + entry.getKey() + " Name => " + entry.getValue());
}
}

Sortie :

Carte d'itération Java

Explication :

Comme vous pouvez le voir dans le code ci-dessus, nous avons itéré la carte avec la boucle for.

4. Mapper l'itération de la clé et de la valeur séparément avec un exemple de boucle for

Code :

<strong> </strong>import java.util.HashMap;
import java.util.Map;
public class ForKeyAndValueMapIteration {
public static void main(String[] args) {
// creating a hashmap object
Map<Integer, String> names = new HashMap<>();
// adding key and values to hash map
names.put(1, "Paramesh");
names.put(2, "Amardeep");
names.put(3, "Venkatesh");
names.put(4, "Ramesh");
names.put(5, "Suresh");
names.put(3, "Krishna");
names.put(4, "Rama");
names.put(5, "Rajitha");
//fetching ids
for (Integer id : names.keySet())
System.out.println("ID => " + id);
// fetching names
for (String name : names.values())
System.out.println("Name => " + name);
}
}

Sortie :

Carte d'itération Java

Explication :

Comme vous pouvez le voir dans le résultat ci-dessus, nous pouvons également récupérer la clé et les valeurs séparément avec la boucle for.

5. Itération de carte avec boucle while et exemple d'itérateur

Code :

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class WhileIteratorLoopMap {
public static void main(String[] args) {
// creating a hashmap object
Map<Integer, String> names = new HashMap<>();
// adding key and values to hash map
names.put(1, "Paramesh");
names.put(2, "Amardeep");
names.put(3, "Venkatesh");
names.put(4, "Ramesh");
names.put(5, "Suresh");
names.put(3, "Krishna");
names.put(4, "Rama");
names.put(5, "Rajitha");
//get entry set from map
Set set = names.entrySet();
//get iterator from set
Iterator iterator = set.iterator();
//fetching id and names with while loop
while (iterator.hasNext()) {
Map.Entry entry = (Map.Entry) iterator.next();
System.out.println("ID =>"+entry.getKey() + " Name => " + entry.getValue());
}
}
}

Sortie :

Carte d'itération Java

Explication :

Comme vous pouvez le voir dans le code ci-dessus, nous avons itéré la carte avec un itérateur et une boucle while.

Remarque : Tous les cas produisent le même résultat, mais la boucle forEach est recommandée pour le développement car elle a moins de temps d'exécution.

Conclusion – Carte d'itération Java

Vous pouvez parcourir la carte en utilisant la boucle for, la boucle forEach et la boucle while à partir de l'interface Entry. Nous pouvons également parcourir les clés et les valeurs séparément sans aucune erreur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:ThreadGroup en JavaArticle suivant:ThreadGroup en Java