JAVA/JAVA

HashMap 반복문 조회

lovineff 2020. 11. 9. 14:44

 

HashMap을 반복문을 통해 조회하는 방법을 확인한다.

 

대부분 keySet을 사용하여 조회하지만, Map에서 Key에 해당하는 값을 조회하는 비용이 추가로 발생하므로,

왠만하면 entrySet 사용을 추천한다.

 

HashMap<String, Object> map = new HashMap<>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
  

// keySet을 사용한 조회 (키에 해당하는 값을 Map에서 재조회하는 비용이 추가로 소모된다)
for (String s : map.keySet()) {
	System.out.println(s + "/" + map.get(s));
}

System.out.println("-----");

// entrySet을 사용한 조회 (Map 재조회에 대한 비용 소모가 없다, keySet대신 사용할 것)
for(Map.Entry<String, Object> entry : map.entrySet()){
	System.out.println(entry.getKey() + "/" + entry.getValue());
}

System.out.println("-----");

// Java 1.8을 위한 entrySet 조회 방법
map.forEach((key, value) -> System.out.println(key + "/" + value));

 

Inefficient use of keySet iterator instead of entrySet iterator 경고 대응

'JAVA > JAVA' 카테고리의 다른 글

CompletableFuture  (0) 2020.11.13
queryDsl QClass 빌드 설정(gradle)  (0) 2020.11.11
Integral division result cast to double or float  (0) 2020.11.09
용어정리  (0) 2020.06.10
JAVA 금액 한글로 변환  (0) 2020.06.04