Le parcours de collection de cartes est souvent utilisé dans le développement quotidien. Les différences entre plusieurs méthodes de parcours sont présentées ci-dessous.
(Tutoriel recommandé : cours Java )
1. Méthode d'écriture Iterator+entrySet [recommandée JDK8 et versions antérieures], Map.Entry est l'interface interne de l'interface Map. , obtient l'itérateur, puis supprime tour à tour le Map.Entry
Iterator<Map.Entry<Integer,String>> iterator=map.entrySet().iterator(); while(iterator.hasNext()){ Map.Entry<Integer,String> entry=iterator1.next(); System.out.println(entry.getKey()); System.out.println(entry.getValue()); }
2 dans chaque itérateur + méthode d'écriture itérateur + keyset [non recommandé, vous ne pouvez obtenir que la clé, puis obtenir la valeur correspondante via. la clé, répétez le calcul]
Iterator<Integer> iterator=map.keySet().iterator(); while (iterator.hasNext()){ Integer key=iterator.next(); System.out.println(key); System.out.println(map.get(key)); }
3. méthode de traversée foreach [méthode d'écriture recommandée sous JDK8]
for(Map.Entry<Integer,String> entry:map.entrySet()){ System.out.println(entry.getKey()); System.out.println(entry.getValue()); };
4. méthode d'écriture lambda [méthode d'écriture recommandée pour JDK8, simple]
map.forEach((key,value)->{ System.out.println(key); System.out.println(value); });
5. Stream traversal Map [pas JDK8] Méthode d'écriture recommandée, calcul répété]
map.entrySet().stream().forEach((Map.Entry<Integer, String> entry) -> { System.out.println(entry.getKey()); System.out.println(entry.getValue()); });
S'il y a un traitement intermédiaire dans la collection Map, des opérations de filtrage peuvent être effectuées et la traversée en streaming est également très pratique.
Recommandations associées : Tutoriel d'introduction à Java
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!