Cómo recorrer un mapa de Java
map map = new HashMap();
Iterador iter = map.entrySet(). iterador();
mientras (iter.hasNext()) {
Mapa. Entrada entrada = (Map.entry)ITER . next();
clave de objeto = entrada
objeto val = entrada
.}
¡Altamente eficiente, debes usar este método en el futuro!
Segundo tipo:
map map = new HashMap();
Iterador iter = map.keySet(). iterador();
mientras (iter.hasNext()) {
clave de objeto = ITER siguiente();
valor de objeto = mapa obtener (. key);
}
Baja eficiencia, ¡use lo menos posible en el futuro!
Hay dos métodos comúnmente utilizados para atravesar HashMap, a saber, usar el conjunto de claves y el conjunto de entradas para atravesar, pero las velocidades de recorrido de los dos son diferentes. Consulte el siguiente ejemplo:
Clase pública HashMapTest {
Public static void main(String[] args)...{
HashMap HashMap = nuevo HashMap ();
for(int I = 0;I<1000;I)...{
hashmap.put("Yo,"Gracias");
}
long bs = Calendar.getInstance();
Iterator = hashmap.keySet()
mientras (iterator.hasNext()). ..{
sistema . print(hashmap . get(iterator . next()));
} p>
sistema println(). ;
sistema . out . println(calendario . getinstance().getTimeInMillis()-bs
lista hashmap() ;
}
lista vacía estática públicaHashMap()...{
Utilidad de Java. hashmap = nueva utilidad de Java();
for(int I = 0. ;Yo<1000;Yo)...{
hashmap.put("Yo,"Gracias");
}
long bs = Calendar.getInstance (). getTimeInMillis();
Java util . iterador = conjunto de entrada hashmap().
Iterador();
mientras (it.hasNext())...{
Java util . entrada entrada =(Java . util . map . entrada)it . next();
// Entry.getKey() devuelve la clave correspondiente al elemento.
// Entry.getValue() devuelve el valor correspondiente al elemento.
sistema . print(entrada . getvalue());
}
sistema .println(); system . out . println(calendar . getinstance(). getTimeInMillis()-bs);
}
}
Para keySet, en realidad atraviesa dos veces. , una vez al iterador y otra para recuperar el valor clave del mapa hash. Entryset solo atraviesa la primera vez y coloca tanto la clave como el valor en la entrada, por lo que ya casi está terminado.