본문 바로가기

java(자바)

[java(자바)] map.getOrDefault _디버깅의 눈물

map.getOrDefault

 

-코딩테스트 공부 중에 HashMap을 사용해야하는 경우가 있었다. 

 

(1)이때 해당 map이 어떤 key를 포함하지 않았다면, 해당 값을 입력하고,

(2)해당 key를 이미 포함했다면 value를 +1 해주는 처리가 필요했다.

 

 

-기존에는 containsKey를 활용해 해당 key의 존재 여부를 확인해서 작업했다.

-하지만 공부 중 더 효율적인 방법이 있어서 기록해둔다. 바로 map의 내장함수인 getOrDefault를 활용하는 것이다.

 

-map.getOrDefault(key, defaultValue)

(1)map 객체 안에 특정 key가 이미 존재한다면 해당 key의 value를 반환하고,

(2)존재하지 않는다면 설정한 defaultValue를 반환한다.

 

-아래의 예시를 살펴보자.

 

 

    	Map<String, Integer> map = new HashMap<String, Integer>();
    	
    	map.put("a", 1);
    	map.put("b", 2);
    	map.put("d", 4);
    	
    	// map 구성 요소 전체 확인
    	System.out.println(map);
    	// map 구성 요소 중 "a"라는 key가 없으면 2000을 반환
    	System.out.println(map.getOrDefault("a", 2000));
    	// map 구성 요소 중 "c"라는 key가 없으면 3000을 반환
    	System.out.println(map.getOrDefault("c", 3000));

 

 

출력 결과