map.getOrDefault
-코딩테스트 공부 중에 HashMap을 사용해야하는 경우가 있었다.
(1)이때 해당 map이 어떤 key를 포함하지 않았다면, 해당 값을 입력하고,
(2)해당 key를 이미 포함했다면 value를 +1 해주는 처리가 필요했다.
-기존에는 containsKey를 활용해 해당 key의 존재 여부를 확인해서 작업했다.
-하지만 공부 중 더 효율적인 방법이 있어서 기록해둔다. 바로 map의 내장함수인 getOrDefault를 활용하는 것이다.
-map.getOrDefault(key, defaultValue)는
(1)map 객체 안에 특정 key가 이미 존재한다면 해당 key의 value를 반환하고,
(2)존재하지 않는다면 설정한 defaultValue를 반환한다.
-아래의 예시를 살펴보자.
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("a", 1);
map.put("b", 2);
map.put("d", 4);
// map 구성 요소 전체 확인
System.out.println(map);
// map 구성 요소 중 "a"라는 key가 없으면 2000을 반환
System.out.println(map.getOrDefault("a", 2000));
// map 구성 요소 중 "c"라는 key가 없으면 3000을 반환
System.out.println(map.getOrDefault("c", 3000));
'java(자바)' 카테고리의 다른 글
[java(자바)] int 배열 내림차순 정렬하기(reverseOrder) _디버깅의 눈물 (0) | 2022.10.05 |
---|---|
[java(자바)] int와 Integer의 차이 _디버깅의 눈물 (0) | 2022.10.05 |
[java(자바)] List null 체크하기 isEmpty() 이용 _디버깅의 눈물 (0) | 2022.09.28 |
[java(자바)] 정수형에서 문자형(char)로 형변환하기 _디버깅의 눈물 (0) | 2022.09.26 |
[java(자바)] 2진수에서 10진수로 바꾸기 Integer.parseInt( ) _디버깅의 눈물 (0) | 2022.09.26 |