Java에서 구현을 확인하는 경우
public boolean containsKey(Object key) {
return getNode(hash(key), key) != null;
}
public V get(Object key) {
Node<K,V> e;
return (e = getNode(hash(key), key)) == null ? null : e.value;
}
둘 다 getNode를 사용하여 일치 항목을 검색합니다. 여기서 주요 작업이 완료됩니다.
중복성은 예를 들어 해시 맵에 저장된 사전이있는 경우 상황에 따라 다릅니다. 단어의 의미를 검색하고 싶을 때
하기...
if(dictionary.containsKey(word)) {
return dictionary.get(word);
}
중복됩니다.
그러나 단어가 유효한지 사전에 따라 확인하려는 경우. 하기...
return dictionary.get(word) != null;
위에...
return dictionary.containsKey(word);
중복됩니다.
내부적으로 HashMap을 사용하는 HashSet 구현 을 확인하면 'contains'메소드에서 'containsKey'를 사용합니다.
public boolean contains(Object o) {
return map.containsKey(o);
}
null
되지 않은 키 / 값과 다르게 처리 하시겠습니까? 특별히 다르게 취급 할 필요가없는 경우 다음을 사용할 수 있습니다.get()