Compruebe si todos los elementos de una lista se establecen en el mismo valor booleano

HBU:

Tengo una ArrayList que está poblada por un número aleatorio de GameObjcasos cada vez que se ejecuta el programa.

Si un objeto se pone en contacto con otro objeto en el ArrayList, fijará un valor lógico llamado visiblede truea false.

¿Hay una manera de comprobar si todas las instancias elemento de la ArrayList se han establecido a falsetravés de:

XXXX.visible = false

Una vez que puedo comprobar si se ajustan a false.

Samuel Philipp:

Se puede utilizar Stream.noneMatch()para hacer esto:

if (bricks.stream().noneMatch(GameObj::isVisible)) {
    doStuffIfAllBricksAreInvisible();
}

Esto devuelve cierto, si todos los ladrillos son invisibles.

Además se lo recomendaría a echar un vistazo a Stream.allMatch(), que devuelve verdadero si todos los elementos de la lista coincide con el predicado dado.

Usando allMatch()este sería el siguiente:

if (bricks.stream().allMatch(b -> !b.isVisible())) {
    doStuffIfAllBricksAreInvisible();
}

Para completar esto, también se puede echar un vistazo a Stream.anyMatch(), que devuelve cierto, si uno de los elementos coincide con el predicado dado.

Supongo que te gusta

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