2012-03-17 4 views

risposta

21

Allo stesso modo in cui si effettua il ciclo di qualsiasi raccolta, con un ciclo iteratore o per ogni ciclo.

NavigableMap<K, V> map = ... 

for(K key: map.keySet()) // iterate keys. 

for(V value: map.values()) // iterate values. 

for(Entry<K, V> entry: map.entrySet()) // iterate key/value entries. 
+0

Vale la pena aggiungere che [SortedMap] (http://docs.oracle.com/javase/8/docs/api/java/util/SortedMap.html) (di cui NavigableMap è figlio) garantisce che i metodi di raccolta (keySet , entrySet, valori) avranno lo stesso ordine della mappa. Personalmente, ho perso un sacco di tempo alla ricerca di un metodo "sortedEntrySet", ma se stai semplicemente iterando, non c'è bisogno. – philo

6

Una NavigableMap è una Map. Ottieni tutte le sue chiavi usando keySet(), tutti i suoi valori usando values() e tutte le sue voci usando entrySet().

1

Da NavigableMap estende Map dovrebbe ancora fornire metodi values(), keySet() e entrySet(). Usa quelli per scorrere le voci/valori/chiavi come faresti con qualsiasi altra mappa.

-1

Se si ottengono solo tutti gli elementi, penso che non sia necessario utilizzare il ciclo, basta stamparli.

NavigableMap<String, Integer> nav = new TreeMap<String, Integer>(); 
nav.put("key1", value1); 
nav.put("key2", value2); 
nav.put("key3", value3); 
System.out.printf("The Whole:%s", nav); 
0

anticipo corretta loop per Map vorrei this->

per (ingresso Map.Entry: map.entrySet)() // voci iterazione chiave/valore.