Предисловие
Есть много способов пройти карту на Java. В этой статье давайте посмотрим на два метода чтения карты на Java и сравнение этих двух методов.
1. Метод карты проходов A
Карта карта = new hashmap (); Iterator iter = map.entryset (). Iterator (); while (iter.hasnext ()) {map.entry entry = (map.entry) iter.next (); Object Key = entry.getKey (); Object val = entry.getValue (); } 2. Метод прохождения карты B
Карта карта = new hashmap (); Iterator iter = map.keyset (). Iterator (); while (iter.hasnext ()) {object key = iter.next (); Объект val = map.get (key); } 3. Метод обхода анализа
Метод A: Читать Map.Entry один раз в обход, а затем напрямую получайте значение.
Метод B: На основании Keyset, сначала проходит через себя, а затем считывает информацию с карты.
4. Тестирование производительности
импортировать java.util.hashmap; импортировать java.util.iterator; импортировать java.util.map; Импорт org.junit.beforeClass; Импорт org.junit.test; открытый класс maploopa {частная статическая карта <integer, string> infos = new Hashmap <Integer, String> (); @Beforeclass public static void setup () {for (int i = 0; i <1000000; i ++) {Infos.put (i, "Информация о тесте"+i); } System.out.println («Настройка выполнена.»); } @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 (); String val = entry.getValue (); } System.out.println («Решение принимает карту цикла со 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 (); String val = Infos.get (Key); } System.out.println ("B Solution принимает карту цикла со 1000000 записями:" + (System.CurrentTimeMillis ()-startTime) + "Milli Seconds"); }}Результаты теста:
Можно видеть, что 1000 000 данных хранятся на карте и пересекаются в этом наборе данных. Разница в производительности почти в 1 раза превышает разницу в эффективности.
5. Резюме
Хорошо, вышеупомянутое все об этой статье. Вы можете видеть, что эффективность метода автомобиля A, как правило, выше. Как правило, рекомендуется использовать метод A. Я надеюсь, что содержание этой статьи будет помогать всеми исследованиям или работе каждого.