Como posso verificar se há elemento na minha matrizes que não está no hashmap?

randomuser1:

Eu tenho um List<String>em javae contém algumas cordas.

Eu também tenho uma hashmapcom Stringvalores e gostaria de verificar se há qualquer elemento na minha lista que não está no HashMap. Este é o código que eu escrevi:

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

Mas ele não funciona corretamente. Você pode me ajudar com isso?

também:

Tendo em conta que a sua condição é

se há qualquer elemento na minha lista que não está no HashMap

você pode usar anyMatchenquanto iteração sobre a lista de elementos para verificar se algum deles não está presente nos valores hashmap.

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

Ou para olhar para ele como se todos os elementos someStringsestão presentes em valores hashmap

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

A embora verificação semelhante também poderia ser usando containsAlldurante o Collectionde valores:

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

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=167440&siteId=1
Recomendado
Clasificación