En esta clase vamos a ver un ejemplo sencillo, básico, de cómo crear nuestro primer stream desde cero.
De ahí vamos a ir escalando algo más avanzado, más complejo.
Bien, comencemos con crear 1 proyecto.
Vamos a cerrar el actual, como siempre.
Vamos a crear uno nuevo.
Siguiente siguiente le vamos a llamar Happy Stream finalizarán.
Como siempre nos vamos a ir a esa, arrasé, vamos a crear nuestro pacato
nappy punto stream, punto, ejemplos bien, una clase con el metodo Main Street.
Bien, para crear un stream.
Hay varias formas.
Lo podemos crear a partir de un arreglo existente.
De qué tipo?
O bien podemos crear de forma estática un stream con la interfaz stream y el método estático off.
Y ahí pasamos separÃ por Koma, o bien a partir de un tipo colección Collection, una lista, un set
invocando el método Stream.
También podemos obtener a través de una fuente un stream.
Bien, pero partamos de la base.
Compartamos creanlo con el método off.
Bueno, stream es el tipo de la interfaz y usamos también el genetic para indicar el tipo de dato que
va a fluir o contener este flujo.
Por ejemplo, string, pero también podría ser de cualquier tipo.
Vamos a importar stream de lleba útil stream le vamos a llamar nombres.
Entonces a partir de la interfaz stream punto, el método off se para por Koma.
Creamos un arreglo y este arreglo se convierte por debajo con el Arraiz punto stream a un flujo a un
stream stream.
Esto de acá es una interfaz, un poli interfaz stream bastante genérico con método estático off.
Bueno, el método estático lo podemos revisar y acá tiene sobrecarga.
Acá, acá lo tenemos.
OFF Entonces se recibe un arreglo de valores y retorna el Arraiz, una clase Halpert con el método Stream
obtiene el arreglo y lo convierte a un tipo string a un flujo.
Bien, por ejemplo, Pato
de Pepe creamos un stream a partir de un arreglo, pero todavía no hemos hecho nada.
Solamente hemos definido nuestra corriente con los elementos para realizar algún trabajo, alguna tarea.
Algo.
Con este flujo tenemos que invocar a los operadores y vamos a ver que dos tipos son los intermedios,
que para realizar transformaciones y los finales, el final simplemente es para hacer algo, alguna
acción o convertir algún tipo.
Esta corriente los datos que contiene el flujo.
Lo típico, por ejemplo, convertir nuestro flujo a un tipo list, a un arreglo, también a un tipo
de conexión con los datos cambiados o bien poder y dar con el foreach.
En fin, ya hay varios operadores más que lo vamos a ver de a poco.
Nombres punto for hecho bueno, for each es un operador final o terminal como se le conoce, ya que
retorna un point.
Se fijan acá Ratto nombrey simplemente no hace nada, pero recibe un consumidor, un consumer, una
presión lanta para hacer algo con los elementos para poder iterar y mostrar la información o realizar
algún tipo de tarea trabajo, pero no modifica el flujo y tampoco no devuelve nada.
Elementos y nuestra presión.
Landa, por ejemplo, lo quiero imprimir.
Bueno, ya conocemos sobre el consumer, ya hemos trabajado.
Esto también se puede simplificar, se acuerdan?
Método referencia acá dos.
Punto, punto.
Ya quitamos esto.
Levantamos.
Y llega en Prime Pato, Paco, Pepe y Pepe, los elementos.
Ahora recuerden, si lo comentamos y no tenemos un operador final o terminal, no pasa nada, solamente
tenemos el flujo, pero sin hacer nada.
No pasa nada.
Siempre tenemos que llamar a un método terminal.
Bien, veamos otra forma de crear un stream, por ejemplo, a partir de un arreglo de string corchete,
un arreglo.
Igual las llaves y las llaves.
Bueno, esta regla este mismo vamos a copiar, lo vamos a pegar.
Trim del tipo String nombres, dos arrays.
Esta clase halpert el método stream y pasamos al arreglo, fijan?
Ahí lo tenemos.
Incluso como ya existe esta variable nombre.
Podemos utilizar la misma.
Entonces podremos dejar nombres.
Y esto lo quitamos.
Y copiamos esto y lo pegamos acá.
Bueno, lo imprimí dos veces arriba y abajo, incluso podríamos comentar esto.
Para que le imprima una sola vez, o incluso podremos comentar esto y colocamos el tipo acá.
Extrem
30.
Otra forma a partir de un arreglo, pero también tenemos otra forma.
Voy a comentar.
Utilizando Stream Builder
del tipo string, nombres de stream.
Punto.
El método Builders por acavo como Builder.
Llega, nos pide manejar un tipo de auto, por ejemplo, acá colocamos String antes de Builder y el
método.
Y ahí vamos agregando los elementos, por ejemplo Zapato, punto Add a Paco,
a Pepa
y a Pepe.
Y con el método Build invocamos, construimos y transformamos.
Esto aún stream del tipo String.
Entonces con el Buil finalizamos y ahí tenemos creado nuestro stream de nombres.
Entonces con Builder, un constructor, agregamos elemento y al final cuando tengamos todos los elementos,
hacemos un build y construimos el string.
Bueno, y después ya lo podemos utilizar.
Con algún operador o algún operador final, como el foreach para poder iterar.
Pato, Paco, Pepa y Pepe.
Y para finalizar.
Vamos a comentar esto.
Vamos a crear un stream a partir de un tipo colecho, ya sea un set o un list, un list, por ejemplo,
del tipo string
lista todo porque el nombre voy a importar acá.
Lleva útil un new array listo o linked list o lo que sea de una lista.
Vamos a agregar elementos en este punto.
Add.
Bien, ahí tenemos la lista.
Entonces ahora stream del tipo string elemento hay que contener.
Utilizando genetic nombres igual lista nuestro tipo colección el ArrayList punto el método string y
listo.
Eso todos con el método String convertimos una lista o colección a un string.
Ahora podemos iterar.
Con esto vemos.
Ahora tampoco necesario tener que crear la variable Steem, simplemente también la podemos utilizar,
por ejemplo, acá Lyta punto stream, punto for echo.
Y ya te lo puedo comentar.
Entonces, directamente Elita Punto Stream y el operador foreach porque queremos utilizar.
Diferentes alternativas bien, por ahora quedamos hasta acá.
Nos vemos en la siguiente clase.