프로그래밍/Java

[Java] Map - getOrDefault()

JBisCode 2023. 8. 13. 13:43


목차


getOrDefault() 메서드란?

Map.getOrDefault(key,deafaultValue) 메서드는 자바의 Map인터페이스에서 제공되는 메서드 중 하나이다. 역할은 지정된 키의 값을 반환하고 해당 키가 Map에 존재하지 않는다면 defaultValue를 반환하는 기능을 제공한다.

예제1

import java.util.HashMap;
import java.util.Map;

public class MapGetOrDefaultExample {
    public static void main(String[] args) {
        // Map 생성
        Map<String, Integer> ageMap = new HashMap<>();

        // 값 추가
        ageMap.put("Alice", 25);
        ageMap.put("Bob", 30);

        // getOrDefault() 메서드를 사용하여 키 "Alice"의 값을 가져옴
        int aliceAge = ageMap.getOrDefault("Alice", 0);
        System.out.println("Alice의 나이: " + aliceAge); // Alice의 나이: 25

        // getOrDefault() 메서드를 사용하여 키 "Charlie"의 값을 가져옴
        int charlieAge = ageMap.getOrDefault("Charlie", 0);
        System.out.println("Charlie의 나이: " + charlieAge); // Charlie의 나이: 0

        // 기본값을 변경하여 getOrDefault() 메서드 사용
        int daveAge = ageMap.getOrDefault("Dave", 40);
        System.out.println("Dave의 나이: " + daveAge); // Dave의 나이: 40
    }
}

예제2

import java.util.HashMap;
import java.util.Map;

public class MapGetOrDefaultExample {
    public static void main(String[] args) {
        // Map 생성
        Map<String, String> colorMap = new HashMap<>();

        // 값 추가
        colorMap.put("Apple", "Red");
        colorMap.put("Banana", "Yellow");

        // getOrDefault() 메서드를 사용하여 키 "Apple"의 값을 가져옴
        String appleColor = colorMap.getOrDefault("Apple", "Unknown");
        System.out.println("Apple의 색상: " + appleColor); // Apple의 색상: Red

        // getOrDefault() 메서드를 사용하여 키 "Grapes"의 값을 가져옴
        String grapesColor = colorMap.getOrDefault("Grapes", "Purple");
        System.out.println("Grapes의 색상: " + grapesColor); // Grapes의 색상: Purple

        // 기본값을 변경하여 getOrDefault() 메서드 사용
        String orangeColor = colorMap.getOrDefault("Orange", "Orange");
        System.out.println("Orange의 색상: " + orangeColor); // Orange의 색상: Orange
    }
}

정리

👉
getOrDefault()를 이용해서 map의 값을 가져오고 없을시 dafaultValue를 반환함으로써 특정 키의 값이 존재하면 가져오고, 없는경우에는 예외처리를 동시에 진행해서 안전하게 값을 불러올 수 있다.