Buenas, me surgen varias preguntas, son un poco para indagar pero para desmontar un poco la magia de esta forma de programar no viene mal para entenderlo mejor. El contexto es el siguiente, yo tengo un Predicator y defino su metodo abstracto, luego lo uso llamando al metodo predicador.test(), esto me devuelve el valor boolean, hasta aqui bien. Lo que me explota la cabeza es, cuando usamos filter en una linea con metodos encadenados, y le pasamos un Predicator como parametro, imagino que en alguna parte se está iterando cada elemento del Stream y usandolo como parametro para la funcion predicator.test(elementoIterado). Mi pregunta es, en que parte se hace esto (en que clase)? Me surge la misma pregunta para el foreach de stream por ejemplo, que clase estaria definiendo el metodo que recorre el stream y aplica el .apply() a cada elemento? Si cuesta de entender la duda no me importa representarla con codigo para explicarme mejor. Gracias por leer.
Posiblemente te interese mirar la clase ReferencePipeline del paquete java.util.stream. No es pública, así que tendrás que ir desde el código, pero es la implementación que usa por ejemplo una llamada a StreamSupport.stream. No es una lectura ligera, aviso.
Muchas gracias ya le entendí al flatmap gracias a tu video. En lugar de aplastar yo diría pulverizar o desgranar. Saludos!
Como siempre, explicación fácil, sencilla y para tod@s! Enhorabuena. Sigue así
Muchas gracias por esta excelente explicación
Excelente video y explicación muchas gracias
Que buenos videos haces! por favor continúa, yo de mi lado hago lo mío, like + comentario positivo + compartir
gracias gracias!
Buenas, me surgen varias preguntas, son un poco para indagar pero para desmontar un poco la magia de esta forma de programar no viene mal para entenderlo mejor.
El contexto es el siguiente, yo tengo un Predicator y defino su metodo abstracto, luego lo uso llamando al metodo predicador.test(), esto me devuelve el valor boolean, hasta aqui bien.
Lo que me explota la cabeza es, cuando usamos filter en una linea con metodos encadenados, y le pasamos un Predicator como parametro, imagino que en alguna parte se está iterando cada elemento del Stream y usandolo como parametro para la funcion predicator.test(elementoIterado). Mi pregunta es, en que parte se hace esto (en que clase)?
Me surge la misma pregunta para el foreach de stream por ejemplo, que clase estaria definiendo el metodo que recorre el stream y aplica el .apply() a cada elemento?
Si cuesta de entender la duda no me importa representarla con codigo para explicarme mejor.
Gracias por leer.
Posiblemente te interese mirar la clase ReferencePipeline del paquete java.util.stream. No es pública, así que tendrás que ir desde el código, pero es la implementación que usa por ejemplo una llamada a StreamSupport.stream. No es una lectura ligera, aviso.
Primero
son las 3 am. aajaj