머리말
자바에서지도를 가로 지르는 방법에는 여러 가지가 있습니다. 이 기사에서는 Java의 맵을 읽는 두 가지 방법 과이 두 가지 방법을 비교하는 것을 살펴 보겠습니다.
1. 트래버스 맵 방법 a
지도 맵 = new Hashmap (); Ierator iter = map.entryset (). iterator (); while (iter.hasnext ()) {map.entry entry = (map.entry) iter.next (); 객체 키 = Entry.GetKey (); Object Val = Entry.getValue (); } 2. 트래버스 맵 방법 b
지도 맵 = new Hashmap (); 반복자 iter = map.keyset (). iterator (); while (iter.hasnext ()) {개체 키 = iter.next (); Object val = map.get (키); } 3. 분석 트래버스 방법
방법 A : Traversal에서 한 번 Map.Entry 읽은 다음 값을 직접 얻습니다.
방법 B : 키 세트를 기반으로 먼저 반복 한 다음지도에서 정보를 읽습니다.
4. 성능 테스트
java.util.hashmap import; import java.util.iterator; java.util.map import; import org.junit.beforeclass; import org.junit.test; public class maploopa {private static map <integer, string> infos = new Hashmap <Integer, String> (); @beforeclass public static void setup () {for (int i = 0; i <10000000; 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 항목이있는 루핑 맵을 가져옵니다. } @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 (키); } system.out.println ( "B 솔루션은 1000000 항목으로 루핑 맵을 가져옵니다. }}테스트 결과 :
1000,000 개의 데이터가 맵에 저장 되고이 데이터 세트에 가로지 않음을 알 수 있습니다. 성능 차이는 효율의 차이의 거의 1 배입니다.
5. 요약
좋아요, 위는이 기사에 관한 것입니다. 자동차 방법 A의 효율이 일반적으로 더 높다는 것을 알 수 있습니다. 일반적으로 방법 A를 사용하는 것이 좋습니다.이 기사의 내용이 모든 사람의 연구 나 업무에 도움이되기를 바랍니다.