randomuser1:
Tengo una List<String>
en java
y que contiene algunas cadenas.
También tengo una hashmap
con String
los 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 anyMatch
mientras 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 someStrings
están presentes en los valores HashMap
return someStrings.stream().allMatch(myHashMap::containsValue);
A pesar de verificación similar también podría estar usando containsAll
el Collection
de los valores:
return myHashMap.values().containsAll(someStrings);