본문 바로가기

language/java

[Java] Map - getOrDefault 메소드 정의 및 사용법

반응형

Map.getOrDefault 란?

찾는 키가 존재하면 해당 키의 value를 리턴하고 존재하지 않으면 default 설정 value값을 리턴한다.

 

getOrDefault 사용하기

map.getOrDefault(Object key, V defaultValue);
  • key : map 내부에 해당 key 값이 존재하면 그 key의 value 리턴
  • key 값으로 탐색하였지만 해당 key 값이 존재하지 않으면 defaultValue 리턴

 

getOrDefault 를 사용한 예제

ex. 한 페이지에 방문한 user들이 String 배열에 담겨져있고 페이지에 방문한 횟수를 구하기 위한 예제입니다.

import java.util.HashMap;

public class MapGetOrDefaultEx {

    public static void main(String[] args) {

        String[] userVisit = {"A101", "B302", "B302", "C999", "D888", "A101", "B302"};
        HashMap<String, Integer> userVisitCnt = new HashMap<>();

        for(String user : userVisit){
            userVisitCnt.put(user, userVisitCnt.getOrDefault(user, 0)+1);
        }

        System.out.println(userVisitCnt);
    }
}
  • getOrDefault(user, 0)+1 를 통해서 user가 map에 존재하지 않으면 1회를 저장하고 존재하면 저장되어있는 방문횟수에 1을 더한 값을 저장해줍니다.
  • 결과값 :  

map 출력한 값

 

반응형