ハッシュマップにない私のArrayListの要素がありますかどうかはどのように確認できますか?

randomuser1:

私が持っているList<String>中でjava、それはいくつかの文字列が含まれています。

私も持っているhashmapとのString価値観と私はハッシュマップではありません、私のリスト内の任意の要素があるのかどうかを確認したいと思います。これは私が書いたコードです。

List<String> someStrings = fetchData();
if (someStrings.stream().noneMatch(s -> myHashMap.containsValue(s))) {
    return false;
} 
return true;

しかし、それは正しく動作しません。あなたはそれで私を助けることができますか?

また:

あなたの状態であることを考えると

ハッシュマップではありません、私のリスト内の任意の要素があるかどう

あなたが使用することができanyMatch、それらのいずれかが、ハッシュマップ値に存在しないかどうかを確認するための要素のリストを反復処理しています。

return someStrings.stream().anyMatch(val -> !myHashMap.containsValue(val))

かのようにそれを見てのすべての要素がsomeStringsハッシュマップ値に存在しています

return someStrings.stream().allMatch(myHashMap::containsValue);

同様のチェックかかわらも使用することができcontainsAllCollectionの値:

return myHashMap.values().containsAll(someStrings);

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=167441&siteId=1