설명
Java의 Map 인터페이스를 사용할 때 존재하지 않는 키로 값을 조회하면 null이 반환된다. 이때 null을 처리하지 않으면 NullPointerException이 발생할 수 있으므로 안전하게 기본값을 반환하도록 돕는 메서드가 getOrDefault()이다.
사용법
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map<String, Integer> scores = new HashMap<>();
scores.put("신짱구", 90);
scores.put("신짱아", 80);
/*
getOrDefault(key, defaultValue)
key가 존재하면 해당 값을 반환, 없으면 defaultValue를 반환
*/
int score1 = scores.getOrDefault("신짱구", 0); //존재하는 키
int score2 = scores.getOrDefault("김철수", 0); //존재하지 않는 키
System.out.println("신짱구: " + score1); //90
System.out.println("김철수: " + score2); //0
}
}
등장 횟수를 세는 경우
getOrDefault()는 어떤 값이 Map에 몇 번 등장했는지를 세는 로직에서도 자주 사용된다. 값이 없을 경우 0으로 간주하고 값을 1씩 증가시키는 방식으로 활용할 수 있다.
import java.util.HashMap;
import java.util.Map;
public class FrequencyExample {
public static void main(String[] args) {
String[] names = {"신짱구", "신짱아", "김철수", "신짱구", "김철수", "신짱구"};
Map<String, Integer> map = new HashMap<>();
for (String name : names) {
//key가 있으면 값을 반환하고 없으면 0을 반환하고 그 값에 +1 해서 다시 저장
map.put(name, map.getOrDefault(name, 0) + 1);
}
System.out.println(map); //{신짱구=3, 신짱아=1, 김철수=2}
}
}
'Language > JAVA' 카테고리의 다른 글
[JAVA]Map.Entry (0) | 2025.05.16 |
---|---|
[JAVA]InteliJ에서 생성 메뉴 단축키 (0) | 2025.05.11 |
[JAVA]public 클래스명과 파일명 일치 규칙 (0) | 2025.04.22 |
[JAVA]reduce() 메서드 (0) | 2025.02.14 |
[JAVA]Optional 클래스 (0) | 2025.02.10 |