Hienz:
Tengo una lista de objetos con la siguiente estructura:
public class ExampleObject {
private boolean someBoolean;
private int someInteger;
// getters, setters, constructor...
}
Necesito un método, que devolverá el número entero -1 si cualquiera de los objetos tiene el conjunto de campo someBoolean a verdadero, si no devuelve el mínimo de someInteger.
Podría hacerlo con un simple bucle for, hay una manera de hacerlo con una sola corriente? Mi problema era que tanto AnyMatch y min () está terminando la corriente.
Eran :
Si someInteger
no es negativo, se puede asignar a cada instancia o bien -1 o someInteger
en base al valor de la boolean
propiedad, y encontrar el mínimo:
OptionalInt min = list.mapToInt (o -> o.getSomeBoolean () ? -1 : o.getSomeInteger())
.min();
Si someInteger
puede ser negativo, puede asignar los casos para los que la boolean
propiedad es true
a Integer.MIN_VALUE
, y cambiar la salida a -1
si es igual a Integer.MIN_VALUE
.