0. 서론
Map 클래스에서 값을 추가하거나 수정할 때 put()함수를 사용한다.
HashMap<String, Integer> hm = new Hashmap<>();
hm.put("안녕", 1); //추가
System.out.println(hm.get("안녕")) // 1
hm.put("안녕", 5); //수정
System.out.println(hm.get("안녕")) // 5
getOrDefault() 함수는 특정 상황에서 put()함수를 더욱 유용하게 사용할 수 있게 한다.
getOrDefault(Object key, V defaultValue)
getOrDefault() 함수는 key에 매핑된 특정 값을 반환하거나 해당 key가 매핑되어 있지 않다면 defaultValue를 반환해준다.
1. 사용법
HashMap<String, Integer> hm = new Hashmap<>();
hm.put("가", 1); //추가
System.out.println(hm.getOrDefault("가", 5)) // 1
System.out.println(hm.getOrDefault("나", 5)) // 5
1-1. put()과 함께 사용하는 법
리스트 값의 개수를 세는 등의 작업에서 getOrDefault()를 사용하면 더욱 코드를 간단하게 짤 수 있게 된다.
List<Integer> list = List.of(1, 1, 1, 2, 2, 5, 3, 3, 4);
//getOrDefault() 사용 전
HashMap<Integer, Integer> hm_1 = new HashMap<>();
for (Integer num : list) {
if (hm_1.containsKey(num)) {
hm_1.put(num, hm_1.get(num) + 1);
continue;
}
hm_1.put(num, 1);
}
//getOrDefault() 사용 후
HashMap<Integer, Integer> hm_2 = new HashMap<>();
for (Integer num : list) {
hm_2.put(num, hm_2.getOrDefault(num, 0) + 1);
}
2. 참고
https://docs.oracle.com/javase/8/docs/api/java/util/Map.html
반응형