본문 바로가기
코딩테스트

[코딩테스트] HashMap getOrDefault()

by JINJINC 2025. 2. 7.
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
반응형

댓글