728x90
반응형
HashMap.getOrDefault() 메서드란?
getOrDefault()는 Java의 HashMap에서 특정 키를 조회할 때, 키가 존재하지 않으면 기본값을 반환하는 메서드입니다.
getOrDefault()의 기본 문법
V getOrDefault(Object key, V defaultValue)
- key: 조회할 키
- defaultValue: 키가 존재하지 않을 경우 반환할 기본값
- 반환값: key가 존재하면 해당 키의 값을 반환, 존재하지 않으면 defaultValue 반환
getOrDefault() 사용 예제
1️ 키가 존재하는 경우
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 10);
map.put("banana", 20);
int value = map.getOrDefault("apple", 0); // "apple"이 존재하므로 10 반환
System.out.println("Value: " + value); // 출력: Value: 10
}
}
✔ 결과: "apple" 키가 존재하므로 10을 반환합니다.
2️ 키가 존재하지 않는 경우 (기본값 반환)
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 10);
map.put("banana", 20);
int value = map.getOrDefault("grape", 0); // "grape"가 없으므로 기본값 0 반환
System.out.println("Value: " + value); // 출력: Value: 0
}
}
✔ 결과: "grape" 키가 존재하지 않으므로 기본값 0을 반환합니다.
3️⃣ getOrDefault() 활용 예제 - 빈도수 카운트
📌 문자열에서 각 문자의 개수를 카운트하는 코드
import java.util.HashMap;
public class FrequencyCounter {
public static void main(String[] args) {
String text = "hello world";
HashMap<Character, Integer> freqMap = new HashMap<>();
for (char c : text.toCharArray()) {
freqMap.put(c, freqMap.getOrDefault(c, 0) + 1);
}
System.out.println(freqMap);
}
}
✔ 설명
- freqMap.getOrDefault(c, 0) → 키 c가 존재하면 해당 값 반환, 존재하지 않으면 0 반환
- +1을 해서 개수를 증가시킴
✔ 출력 결과
{ =1, r=1, d=1, e=1, h=1, l=3, o=2, w=1}
728x90
반응형
'코딩테스트' 카테고리의 다른 글
[코딩테스트] Hash - 프로그래머스 포켓몬 (0) | 2025.02.06 |
---|---|
[Python] SyntaxError: EOL while scanning string literal (0) | 2024.05.14 |
[Softeer] 바이러스 level2 - Java (0) | 2023.08.07 |
댓글