Java | Map - getOrDefault 란?

바다·2024년 6월 2일
0

Java

목록 보기
18/18
post-thumbnail

Map에서 값을 가져오는 방법들

1. get()

  • map에서 가장 기본적으로 값을 조회할 때 사용하는 메소드
  • mapkey가 존재하면 해당하는 keyvalue 값을 반환하고, 찾는 key가 없거나 null이면 null을 반환
public class Main {
	public static void main(String[] args)throws Exception {
    	Map<Integer, Integer> map = new HashMap<>();
        
        map.put(1, "nickname");
        map.put(2, "helloworld");
        map.put(3, "heesue");
    
   		map.get(1);	//nickname 반환
        map.get(2); //helloworld 반환
        map.get(3); //heesue 반환
        
        map.get(4); //null 반환
    }

}

2.getOrDefault()

  • map 내에 key 값이 없을 때, null 대신 기본값을 반환하도록 하는 메소드
  • key가 존재하면 keyvalue를 반환하고, 없거나 null이면 deafultValue를 반환한다
  • HashMap의 경우 동일 키 값을 추가할 경우 value의 값이 덮어쓰기가 되기 때문에, 기존 key 값의 value를 계속 사용하고 싶을 경우에도 사용할 수 있다
public class Main {
	public static void main(String[] args)throws Exception {
    	Map<Integer, Integer> map = new HashMap<>();
        
        map.put(1, "nickname");
        map.put(2, "helloworld");
        map.put(3, "heesue");
    
   		map.getOrDefault(1, "default");	//nickname 반환
        map.getOrDefault(2, "default"); //helloworld 반환
        map.getOrDefault(3, "default"); //heesue 반환
        
        map.getOrDefault(4, "default"); //default 반환
    }

}

3.Optional.ofNullable().orElse()

  • null 대신 기본 값을 반환하도록 할 수 있는 방법
  • Optional 객체를 활용한다
public class Main {
	public static void main(String[] args)throws Exception {
    	Map<Integer, Integer> map = new HashMap<>();
        
        map.put(1, "nickname");
        map.put(2, "helloworld");
        map.put(3, "heesue");
    
   		Optional.ofNullable(map.get(1)).orElse("default");	//nickname 반환
        Optional.ofNullable(map.get(2)).orElse("default"); //helloworld 반환
        Optional.ofNullable(map.get(3)).orElse("default"); //heesue 반환
        
        Optional.ofNullable(map.get(4)).orElse("default"); //default 반환
    }

}
profile
ᴘʜɪʟɪᴘᴘɪᴀɴs 3:14

0개의 댓글