Degth:
Imaginemos que tenemos lista de objetos con 3 minutos de campo como valores: 5,5,7, 8
int sumOfFields = found.stream()
.filter(abc -> minutesLessThan5(abc.getMinutes())))
.mapToInt(abc::getMinutes)
.sum();
// will return 10
Pero, ¿cómo puedo cambiar mi salida por ejemplo, en lugar de getMinutes Quiero volver a mi propio valor, por ejemplo, 40
int sumOfFields = found.stream()
.filter(abc -> minutesLessThan5(abc.getMinutes())))
.mapToInt(abc ->abc.getMinutes() = 40) //this is pseudo code what I try to achive
.sum();
// output should be 80.
también:
En realidad, no sé por qué la gente no hacen una respuesta a esto, sin embargo, como se señala en los comentarios, puede seguir ya sea del enfoque
int sumOfFields = found.stream()
.filter(abc -> minutesLessThan5(abc.getMinutes())))
.mapToInt(abc -> 40) // map value to be returned as 40
.sum();
o en su lugar ya que va a sustituir todos esos valores con un valor constante 40
, también se puede hacer uso de la count()
y se multiplican que con el valor constante.
int sumOfFields = (int) found.stream() // casting from long to int
.filter(abc -> minutesLessThan5(abc.getMinutes())))
.count() * 40;