본문 바로가기
Java

[Java] Map - getOrDefault 메소드

by jn4624 2022. 4. 26.
반응형

1. getOrDefault

찾는 키가 존재한다면 찾는 키의 값을 반환하고 존재하지 않는다면 기본값을 반환하는 메소드

 

2. 사용 방법

getOrDefault(Object key, V DefaultValue)

매개변수 : 두개의 매개변수를 허용한다.

  • key : 값을 가져와야 하는 요소의 키
  • defaultValue : 지정된 키로 매핑된 값이 없는 경우 반환되어야 하는 기본값

반환값 : 찾는 key가 존재하면 해당 key에 매핑되어 있는 값을 반환하고 그렇지 않으면 기본값이 반환된다.

 

3. 사용 예제

/**
 * 완주하지 못한 선수
 */
public class Code {
    public static void main(String[] args) {
        String[] participant1 = {"leo", "kiki", "eden"};
        String[] completion1 = {"eden", "kiki"};

        String[] participant2 = {"marina", "josipa", "nikola", "vinko", "filipa"};
        String[] completion2 = {"josipa", "filipa", "marina", "nikola"};

        String[] participant3 = {"mislav", "stanko", "mislav", "ana"};
        String[] completion3 = {"stanko", "ana", "mislav"};

        System.out.println(solution(participant1, completion1));
        System.out.println(solution(participant2, completion2));
        System.out.println(solution(participant3, completion3));
    }

    public static String solution(String[] participant, String[] completion) {
        String result = "";

        HashMap<String, Integer> map = new HashMap<String, Integer>();

        for( String str : participant ) {
            map.put(str, map.getOrDefault(str, 0)+1);
        }

        for( String str : completion ) {
            map.put(str, map.get(str)-1);
        }

        for( String key : map.keySet() ) {
            if( map.get(key) != 0 ) {
                result = key;
            }
        }

        return result;
    }
}

위 소스는 key가 중복될 경우 해당 키의 value를 증가 시키기 위해 getOrDefault 메소드를 사용하였다.

 

 

🙏 참조 ::

반응형