Prefacio
Hay muchas formas de atravesar el mapa en Java. En este artículo, echemos un vistazo a los dos métodos de lectura del mapa en Java y la comparación de estos dos métodos.
1. Método del mapa de transversal A
Mapa map = nuevo hashmap (); Iterator iter = map.entryset (). Iterator (); while (iter.hasnext ()) {map.entry entry = (map.entry) iter.next (); Key de objeto = Entry.getKey (); Objeto val = entry.getValue (); } 2. Traversing Map Method B
Mapa map = nuevo hashmap (); Iterator iter = map.keySet (). Iterator (); while (iter.hasnext ()) {objeto clave = iter.next (); Objeto val = map.get (clave); } 3. Método de transversal de análisis
Método A: Leer Map.Entry una vez en el recorrido, y luego obtener directamente el valor.
Método B: Basado en KeySet, itera a través de First y luego lee información del mapa.
4. Pruebas de rendimiento
import java.util.hashmap; import java.util.iterator; import java.util.map; importar org.junit.beforeclass; importar org.junit.test; MAPLOOPA de clase pública {Mapa estático privado <Integer, String> Infos = new HashMap <Integer, String> (); @Beforeclass public static void setup () {for (int i = 0; i <1000000; i ++) {infos.put (i, "información de prueba"+i); } System.out.println ("La configuración está realizada"); } @Test public void testMaploopa () {iterator <map.entry <integer, string >> iterator = infos.entryset (). Iterator (); Long Starttime = System.CurrentTimemillis (); while (iterator.hasnext ()) {map.entry <integer, string> entry = iterator.next (); int key = entry.getKey (); Cadena val = entry.getValue (); } System.out.println ("Una solución toma en el mapa de bucle con entradas 1000000:" + (System.CurrentTimemillis ()-Starttime) + "Milli Seconds"); } @Test public void testMaploopB () {Iterator <integer> iterator = infos.keySet (). Iterator (); Long Starttime = System.CurrentTimemillis (); while (iterator.hasnext ()) {int key = iterator.next (); Cadena val = infos.get (clave); } System.out.println ("B La solución se toma en el mapa de bucle con entradas 1000000:" + (System.CurrentTimemillis ()-Starttime) + "Milli Seconds"); }}Resultados de la prueba:
Se puede ver que 1000,000 datos se almacenan en el mapa y se atraviesan en este conjunto de datos. La diferencia de rendimiento es casi 1 veces la diferencia en la eficiencia.
5. Resumen
Bien, lo anterior se trata de este artículo. Puede ver que la eficiencia del método A del automóvil es generalmente mayor. En general, se recomienda utilizar el Método A. Espero que el contenido de este artículo sea de ayuda para el estudio o el trabajo de todos.