JAVA

[JAVA] Map containsKey

오선지♬ 2024. 9. 14. 12:43
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