✅ 기능
/**
* key: 찾고 싶은 키
* defaultValue: 키가 없을 때 대신 반환할 기본값
*
* return 해당 키 존재시 값 반환 그렇지 않으면 defalt반환
*/
getOrDefault(Object key, V defaultValue)
✅ 기본 사용 예:
import java.util.HashMap;
import java.util.Map;
public class GetOrDefaultExample {
public static void main(String[] args) {
Map<String, Integer> scoreMap = new HashMap<>();
scoreMap.put("Alice", 90);
scoreMap.put("Bob", 80);
int aliceScore = scoreMap.getOrDefault("Alice", 0); // 존재하므로 90
int charlieScore = scoreMap.getOrDefault("Charlie", 0); // 없으므로 기본값 0
System.out.println("Alice: " + aliceScore); //result 90
System.out.println("Charlie: " + charlieScore); //result 0
}
}
✅ Map.get() 과 비교
// map.get 사용
Integer score = map.get("key");
if (score == null) { //null 체크
score = 0;
}
// map.getOrDefault 사용
Integer score = map.getOrDefault("key", 0);
⇒ 가독성👍 코드 단축
⚠️ 주의할 점
getOrDefault()는 값을 넣는(set) 메서드 아님
→ 단지 조회할 때 기본값을 사용 맵에 데이터를 추가 ❌
defaultValue는 찾는 값이 존재해도 실행
→ 계산 비용이 크거나 무거운 로직 사용시 computeIfAbsent() 고려
💡 실전 팁
Map<String, Integer> counter = new HashMap<>();
String key = "apple";
counter.put(key, counter.getOrDefault(key, 0) + 1);
이 글에서는 백준 문제 풀이 과정에서 사용한 주요 기술과 알고리즘을 설명합니다.
실제 문제 풀이 코드는 아래 깃허브 저장소에서 확인하실 수 있습니다.
👉 깃허브 - 백준 문제 풀이 저장소
이 글과 코드를 보시고 개선할 부분이나 궁금한 점이 있으면 편하게 댓글이나 메시지로 알려주세요.💪
여러분의 피드백 덕분에 더 나은 콘텐츠를 만들 수 있습니다.
함께 성장해 나가요!