¿Cómo puedo comprobar si hay elementos en mi ArrayList que no está en el mapa hash?

randomuser1:

Tengo una List<String>en javay que contiene algunas cadenas.

También tengo una hashmapcon Stringlos valores y me gustaría comprobar si hay algún elemento en mi lista que no está en el Hashmap. Este es el código que he escrito:

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

Pero no funciona correctamente. ¿Me puede ayudar con eso?

también:

Teniendo en cuenta que su condición es

si hay algún elemento en mi lista que no está en el Hashmap

se puede utilizar anyMatchmientras se itera sobre la lista de elementos para comprobar si alguno de ellos no está presente en los valores HashMap.

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

O para mirarlo como si todos los elementos de someStringsestán presentes en los valores HashMap

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

A pesar de verificación similar también podría estar usando containsAllel Collectionde los valores:

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

Supongo que te gusta

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