728x90
반응형
containsKey 메서드는 Java에서 Map 인터페이스에 정의된 메서드로,
특정 키가 맵에 존재하는지 여부를 확인하는 데 사용됩니다.
즉, containsKey는 Map 안에 지정된 키가 포함되어 있는지를 boolean 값으로 반환합니다.
이 메서드를 사용하면 키가 존재할 때만 안전하게 값을 가져올 수 있습니다.
boolean containsKey(Object key)
반환값
- true: 맵에 지정된 키가 존재하는 경우.
- false: 맵에 지정된 키가 존재하지 않는 경우.
매개변수
- key: 찾으려는 키. 이 키가 Map 안에 존재하는지 확인합니다.
- null도 키로 사용할 수 있습니다. (단, HashMap에서는 null을 허용하지만, TreeMap은 null을 키로 허용하지 않습니다.)
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
// HashMap 생성
Map<String, Integer> map = new HashMap<>();
map.put("apple", 100);
map.put("banana", 200);
map.put("orange", 300);
// 키 확인
String keyToCheck = "banana";
// containsKey 사용
if (map.containsKey(keyToCheck)) {
System.out.println("The key \"" + keyToCheck + "\" exists in the map.");
} else {
System.out.println("The key \"" + keyToCheck + "\" does not exist in the map.");
}
// 키가 존재하지 않을 경우
String missingKey = "grape";
if (map.containsKey(missingKey)) {
System.out.println("The key \"" + missingKey + "\" exists in the map.");
} else {
System.out.println("The key \"" + missingKey + "\" does not exist in the map.");
}
}
}
- containsKey는 O(1) (평균 시간 복잡도)로 실행되며, 내부적으로 Map의 키 집합을 탐색하여 해당 키가 존재하는지 확인합니다. HashMap의 경우 매우 빠르지만, 다른 구현체에서는 더 느릴 수 있습니다 (TreeMap은 O(log n)).
- 키가 존재하지 않는 경우, get 메서드를 호출하면 null을 반환하므로 키가 없을 가능성을 고려해야 합니다. containsKey를 사용하면 이러한 문제를 사전에 방지할 수 있습니다.
728x90
반응형
'JAVA' 카테고리의 다른 글
[JAVA] DecimalFormat (0) | 2024.09.21 |
---|---|
[JAVA] Serializable (0) | 2024.09.20 |
[JAVA] stream anyMatch 사용 (0) | 2024.09.09 |
[JAVA] String 배열에서 null값을 제외하고 반환하기 (0) | 2024.09.02 |
[JAVA] LocalDate minusDays (0) | 2024.09.01 |