반응형
get()
get()은 key에 해당하는 value를 가져올 때 사용한다.
public class getMethod {
public static void main(String[] args) {
HashMap<String, String> hmap = new HashMap<>();
hmap.put("fruits", "과일");
hmap.put("apple", "사과");
System.out.println(hmap.get("fruits")); // 과일
System.out.println(hmap.get("apple")); // 사과
System.out.println(hmap.get("banana")); // NullPointerException 발생
}
}
hmap에 put()으로 key와 value(fruits:과일, apple:사과)를 담았다.
apple이라는 key의 value를 가져오고 싶으면 hmap.get("apple")으로 가져오면 된다.
그런데 hmap.get("banana")를 사용할 경우 hmap에 banana라는 키가 없어 NullPointerException이 발생한다.
그래서 예외 처리를 따로 해주거나 getOrDefault()를 사용하여 null 대신 default값을 반환케 할 수 있다.
public class getOrDefaultMethod {
public static void main(String[] args) {
Map<String, String> map = new HashMap<>();
map.put("fruits", "과일");
map.put("apple", "사과");
System.out.println(map.getOrDefault("fruits", "맛있다")); // 과일
System.out.println(map.getOrDefault("apple", "맛있다")); // 사과
System.out.println(map.getOrDefault("banana", "맛있다")); // 맛있다
}
}
map.getOrDefault(K, default값), 즉 map.getOrDefault("banana", "맛있다")로 사용하여 map에 담겨있지 않은 banana라는 키의 value를 가져오려 할 때 '맛있다'라는 기본값을 출력시킨다.
containsKey()
containsKey()는 Map에 해당 key가 있는지 true/false로 반환한다. (boolean 타입)
public class containsKeyMethod {
public static void main(String[] args) {
HashMap<String, String> hmap = new HashMap<>();
hmap.put("fruits", "과일");
hmap.put("apple", "사과");
System.out.println(hmap.get("fruits")); // true
System.out.println(hmap.containsKey("apple")); // true
System.out.println(hmap.containsKey("banana")); // false
}
}
apple이라는 key가 있는지 확인하고 싶을 때 hmap.containsKey("apple")를 사용한다.
apple이라는 key가 있다면 true로 반환한다.
이때 hmap에 담겨있지 않은 key, 즉 fruits와 apple을 제외한 다른 key를 containsKey()로 확인하면 해당 key가 없기 때문에 false로 반환된다.
반응형