Porque este resultado de la terminal operacion del Stream?
Publicado por Renzo (10 intervenciones) el 03/07/2018 16:08:26
Buenos Días con todos
He estado programando usando Stream, y tengo problemas al entender como funciona este codigo
Simplemente hago de un ArrayList un Stream, y con el metodo terminal "max(Integer.max(a,b))", deberia retornarme el mayor de los elementos del Stream, sin embargo la salida es 3, cosa que no veo el porque
Modifique el código para ver como actúa el stream con cada elemento:
Aqui esta la salida
Como ven, en cada operacion del Stream compara 3 con el siguiente valor del Stream, pero el 3 se mantiene y se compara con todos los elementos, yo pensaba que al comparar con max, el mayor se guardaba y el menor se descartaba, pero aqui el primer elemento 3 compara con todos, y al final ese mismo es devuelto
He estado programando usando Stream, y tengo problemas al entender como funciona este codigo
Simplemente hago de un ArrayList un Stream, y con el metodo terminal "max(Integer.max(a,b))", deberia retornarme el mayor de los elementos del Stream, sin embargo la salida es 3, cosa que no veo el porque
Modifique el código para ver como actúa el stream con cada elemento:
Aqui esta la salida
Como ven, en cada operacion del Stream compara 3 con el siguiente valor del Stream, pero el 3 se mantiene y se compara con todos los elementos, yo pensaba que al comparar con max, el mayor se guardaba y el menor se descartaba, pero aqui el primer elemento 3 compara con todos, y al final ese mismo es devuelto
Valora esta pregunta
0