2015-03-18 2 views
1
Iterator iterator = map.entrySet().iterator(); 
while (iterator.hasNext()) 
{ 
    Map.Entry mapEntry = (Map.Entry) iterator.next(); 
System.out.println("The key is: " + mapEntry.getKey() + ",value is :" + mapEntry.getValue()); 

} 

Ceci est mon code. Maintenant, je ne veux pas utiliser Iterator pour obtenir les valeurs. S'il vous plaît aidez-moi à trouver la meilleure solution.Comment obtenir les valeurs de Hashmap sans utiliser Iterator?

+0

que signifie «meilleure solution»? – Jens

+0

best est un terme ambigu, mate. –

Répondre

6
Map<String, Object> map = .....;//Initialization here 
for (String key : map.keySet()) { 
    // write your code here 
} 

// Si vous utilisez juste les clés de la carte

for (Object value : map.values()) { 
    // write your code here 
} 

// Si vous utilisez seulement les valeurs de votre Map

for (Map.Entry<String, Object> entry : map.entrySet()) { 
    String key = entry.getKey(); 
    Object value = entry.getValue(); 
    // you code here 
} 

// Si vous voulez les touches et v aleurs

// Tous sont sans utiliser Iterator de la carte

+1

Si je me souviens bien, l'itérateur est toujours utilisé ici, seulement caché de la vue ;-) –

+0

Oui, exactement. Mais j'ai supposé que OP signifiait ne pas créer/utiliser explicitement une instance d'Interface Iterator. :) –

0
for(String key : map.keySet()) { 
    System.out.println("The key is: " + key + ",value is :" + map.get(key)); 
} 

même résultat et iterator est parti =)

+0

Vous utilisez toujours l'itérateur - map.keySet(). –

0

Map.entrySet() flux() carte (o -> o.getValue()) recueillir (Collectors.toList())...

+1

Les réponses en code simple ne sont souvent pas très appréciées. Veuillez décrire votre réponse aussi complète que possible. – Nrzonline