2012-03-17 8 views

Respuesta

21

De la misma manera que haría un bucle en cualquier colección, con un iterador o un bucle for-each.

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 agregar que [SortedMap] (http://docs.oracle.com/javase/8/docs/api/java/util/SortedMap.html) (de los cuales NavigableMap es un elemento secundario) garantiza que los métodos de recopilación (keySet) , entrySet, values) tendrá el mismo orden que el mapa. Personalmente, perdí mucho tiempo buscando algún método "sortedEntrySet", pero si solo estás iterando, no es necesario. – philo

6

A NavigableMap es un Map. Obtiene todas sus claves usando keySet(), todos sus valores usando values(), y todas sus entradas usando entrySet().

1

Desde NavigableMap se extiende Map que aún debe proporcionar los métodos values(), keySet() y entrySet(). Úselos para iterar sobre las entradas/valores/claves como lo haría con cualquier otro mapa.

-1

Si solo desea obtener todos los elementos, creo que no necesita utilizar el bucle, simplemente imprima estos.

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

avance correcta bucle de Mapa gustaría this->

para (entrada Map.Entry: map.entrySet)() // entradas clave/valor iterar.

Cuestiones relacionadas