일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ArrayList
- 인텔리제이
- vscode
- Java
- Array
- Maven
- json
- CSS
- js
- 이탈리아
- list
- Button
- IntelliJ
- 자바
- 자바스크립트
- javascript
- table
- 문자열
- string
- html
- 테이블
- date
- 이클립스
- windows
- input
- Eclipse
- CMD
- Visual Studio Code
- 배열
- Files
- Today
- Total
어제 오늘 내일
[Java] HashMap에 특정 key 존재 여부 확인하기 본문
- Map.containsKey()
- Map.get()
1. Map.containsKey()
public boolean containsKey(Object key)
Map의 containsKey() 메소드는
Map에 파라미터로 입력받은 값과 같은 값이 있으면 true를 리턴합니다.
import java.util.HashMap;
import java.util.Map;
public class CheckExistHashMap {
public static void main(String[] args) {
// HashMap 준비
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "Apple");
map.put(2, "Banana");
map.put(3, "Orange");
map.put(null, "Tomato");
// 특정 key값 존재여부 체크 (containsKey())
System.out.println(map.containsKey(1)); // true
System.out.println(map.containsKey(5)); // false
System.out.println(map.containsKey(null)); // true
}
}
containsKey() 메소드를 이용하여
특정 key가 Map에 존재하는지 체크하였습니다.
2. Map.get()
public V get(Object key)
get() 메소드는,
파라미터로 입력받은 값이 Map에 존재하면, 입력받은 값을 리턴하고,
만약 파라미터로 입력받은 값이 Map에 존재하지 않으면, null을 리턴합니다.
import java.util.HashMap;
import java.util.Map;
public class CheckExistHashMap {
public static void main(String[] args) {
// HashMap 준비
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "Apple");
map.put(2, "Banana");
map.put(3, "Orange");
map.put(4, null);
// 특정 key값 존재여부 체크 (get())
System.out.println(map.get(1) != null ? true : false); // true
System.out.println(map.get(5) != null ? true : false); // false
System.out.println(map.get(4) != null ? true : false); // false
}
}
map.get() 메소드를 사용하여, 특정 key가 Map에 존재하는지 체크할 수도 있습니다.
하지만 이 방법은 약간의 제약이 있습니다.
이 메소드는, 특정 key가 Map에 존재할 경우, 해당 key의 value를 리턴하고,
만약, key가 Map에 존재하지 않으면 null을 리턴합니다.
위 예제에서
map.get(5)를 하면, 5라는 key는 존재하지 않으므로, null을 리턴할 것입니다.
map.get(4)를 하면, 4라는 key가 존재하고, 그 값이 null 이므로, 위와 마찬가지로 null을 리턴합니다.
이처럼, value에 null값이 허용되면,
실제 key가 존재하는지 여부를 체크할 때 정확한 값이 나오지 않는 제약 사항이 있습니다.
key 존재 여부를 체크하기 위해,
get()을 사용하는 것은 위와 같이 null인 경우에 다른 결과를 얻게 됩니다.
따라서, 정확하게 key가 Map에 존재하는지 체크하기 위해서는
containsKey() 메소드를 사용하는 것이 좋습니다.
특정 value가 Map에 존재하는지 확인하는 방법은 다음 포스팅을 참조하세요.
[Java] HashMap에 특정 value 존재 여부 확인하기
'IT > Java' 카테고리의 다른 글
[Java] HashMap에서 value로 key 찾기 (2) | 2021.05.18 |
---|---|
[Java] HashMap에 특정 value 존재 여부 확인하기 (0) | 2021.05.18 |
[Java] HashMap key, value 전체 출력하기 (1) | 2021.05.17 |
[Java] ArrayList 중복 값 개수 세기 (0) | 2021.05.17 |
[Java] ArrayList 값 중 최대값, 최소값 구하기 (0) | 2021.05.17 |