프로그래머스 해쉬맵 프로그래머스 의상 문제를 풀다가 해당 자료구조를 초기화 할 때, 매번 contains 함수로 확인하려니 코드가 가독성이 떨어지고 지저분하여 이를 해결할 방법을 찾게되다가 해당 GetOrDefault()함수를 알게되었다.
GetOrDefault(HashMap의 key, key가 존재하지 않을 시 return 값)기본형은 위와 같고 어원은 아래와 같다.
Get : 얻다, 무엇을 얻는 것일까? 바로 첫 번째 파라미터로 입력한 key와 쌍인 HashMap에서의 value를 얻는 것이다.Default : 기본, 만약 해당 key가 HashMap에 존재하지 않다면 두번째 파라미터인 key가 HashMap에 존재하지 않을 시 반환한다는 의미이다. 즉, 특정 Default값을 정의해놓고 만약 해쉬맵에 없다면 이 값을 내놓는다는 것이다.즉, 해쉬맵에 원하는 키가 있다면 그 키의 Value를 반환하고 없다면 개발자가 두번째 파라미터로 정의한 Default값을 내놓는 함수이다.
int[] numbers = {1, 2, 1, 3, 2, 1}; // 예시 배열
HashMap<Integer, Integer> countMap = new HashMap<>();
for (int num : numbers) {
countMap.put(num, countMap.getOrDefault(num, 0) + 1);
}
System.out.println(countMap);
'''//출력
{1=3, 2=2, 3=1}