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()