1
00:00:00,180 --> 00:00:06,750
En esta clase vamos a ver un ejemplo sencillo, básico, de cómo crear nuestro primer stream desde cero.

2
00:00:06,930 --> 00:00:09,870
De ahí vamos a ir escalando algo más avanzado, más complejo.

3
00:00:10,020 --> 00:00:12,180
Bien, comencemos con crear 1 proyecto.

4
00:00:12,240 --> 00:00:14,620
Vamos a cerrar el actual, como siempre.

5
00:00:14,670 --> 00:00:15,930
Vamos a crear uno nuevo.

6
00:00:18,130 --> 00:00:24,280
Siguiente siguiente le vamos a llamar Happy Stream finalizarán.

7
00:00:25,270 --> 00:00:29,440
Como siempre nos vamos a ir a esa, arrasé, vamos a crear nuestro pacato

8
00:00:33,970 --> 00:00:44,010
nappy punto stream, punto, ejemplos bien, una clase con el metodo Main Street.

9
00:00:48,050 --> 00:00:49,160
Bien, para crear un stream.

10
00:00:49,250 --> 00:00:50,030
Hay varias formas.

11
00:00:50,150 --> 00:00:52,430
Lo podemos crear a partir de un arreglo existente.

12
00:00:52,580 --> 00:00:53,480
De qué tipo?

13
00:00:53,630 --> 00:00:59,420
O bien podemos crear de forma estática un stream con la interfaz stream y el método estático off.

14
00:00:59,630 --> 00:01:05,690
Y ahí pasamos separÃ por Koma, o bien a partir de un tipo colección Collection, una lista, un set

15
00:01:05,870 --> 00:01:07,280
invocando el método Stream.

16
00:01:07,370 --> 00:01:10,730
También podemos obtener a través de una fuente un stream.

17
00:01:11,060 --> 00:01:12,080
Bien, pero partamos de la base.

18
00:01:12,080 --> 00:01:14,570
Compartamos creanlo con el método off.

19
00:01:15,600 --> 00:01:23,030
Bueno, stream es el tipo de la interfaz y usamos también el genetic para indicar el tipo de dato que

20
00:01:23,030 --> 00:01:26,270
va a fluir o contener este flujo.

21
00:01:27,500 --> 00:01:30,230
Por ejemplo, string, pero también podría ser de cualquier tipo.

22
00:01:30,650 --> 00:01:36,280
Vamos a importar stream de lleba útil stream le vamos a llamar nombres.

23
00:01:37,880 --> 00:01:44,060
Entonces a partir de la interfaz stream punto, el método off se para por Koma.

24
00:01:44,330 --> 00:01:51,020
Creamos un arreglo y este arreglo se convierte por debajo con el Arraiz punto stream a un flujo a un

25
00:01:51,020 --> 00:01:52,730
stream stream.

26
00:01:52,890 --> 00:01:58,860
Esto de acá es una interfaz, un poli interfaz stream bastante genérico con método estático off.

27
00:01:59,360 --> 00:02:02,780
Bueno, el método estático lo podemos revisar y acá tiene sobrecarga.

28
00:02:03,710 --> 00:02:04,940
Acá, acá lo tenemos.

29
00:02:05,000 --> 00:02:12,670
OFF Entonces se recibe un arreglo de valores y retorna el Arraiz, una clase Halpert con el método Stream

30
00:02:12,800 --> 00:02:17,120
obtiene el arreglo y lo convierte a un tipo string a un flujo.

31
00:02:19,020 --> 00:02:20,810
Bien, por ejemplo, Pato

32
00:02:25,630 --> 00:02:31,850
de Pepe creamos un stream a partir de un arreglo, pero todavía no hemos hecho nada.

33
00:02:31,940 --> 00:02:37,730
Solamente hemos definido nuestra corriente con los elementos para realizar algún trabajo, alguna tarea.

34
00:02:37,820 --> 00:02:38,270
Algo.

35
00:02:38,330 --> 00:02:44,090
Con este flujo tenemos que invocar a los operadores y vamos a ver que dos tipos son los intermedios,

36
00:02:44,180 --> 00:02:49,370
que para realizar transformaciones y los finales, el final simplemente es para hacer algo, alguna

37
00:02:49,370 --> 00:02:51,290
acción o convertir algún tipo.

38
00:02:51,410 --> 00:02:53,900
Esta corriente los datos que contiene el flujo.

39
00:02:54,050 --> 00:03:00,950
Lo típico, por ejemplo, convertir nuestro flujo a un tipo list, a un arreglo, también a un tipo

40
00:03:00,950 --> 00:03:04,940
de conexión con los datos cambiados o bien poder y dar con el foreach.

41
00:03:05,060 --> 00:03:08,390
En fin, ya hay varios operadores más que lo vamos a ver de a poco.

42
00:03:09,290 --> 00:03:15,680
Nombres punto for hecho bueno, for each es un operador final o terminal como se le conoce, ya que

43
00:03:15,680 --> 00:03:16,390
retorna un point.

44
00:03:16,550 --> 00:03:22,180
Se fijan acá Ratto nombrey simplemente no hace nada, pero recibe un consumidor, un consumer, una

45
00:03:22,190 --> 00:03:27,980
presión lanta para hacer algo con los elementos para poder iterar y mostrar la información o realizar

46
00:03:27,980 --> 00:03:34,670
algún tipo de tarea trabajo, pero no modifica el flujo y tampoco no devuelve nada.

47
00:03:35,060 --> 00:03:36,920
Elementos y nuestra presión.

48
00:03:36,920 --> 00:03:39,470
Landa, por ejemplo, lo quiero imprimir.

49
00:03:39,620 --> 00:03:42,950
Bueno, ya conocemos sobre el consumer, ya hemos trabajado.

50
00:03:43,340 --> 00:03:45,800
Esto también se puede simplificar, se acuerdan?

51
00:03:46,520 --> 00:03:48,650
Método referencia acá dos.

52
00:03:48,650 --> 00:03:49,580
Punto, punto.

53
00:03:50,510 --> 00:03:51,350
Ya quitamos esto.

54
00:03:54,220 --> 00:03:55,030
Levantamos.

55
00:03:57,860 --> 00:04:01,010
Y llega en Prime Pato, Paco, Pepe y Pepe, los elementos.

56
00:04:01,100 --> 00:04:08,180
Ahora recuerden, si lo comentamos y no tenemos un operador final o terminal, no pasa nada, solamente

57
00:04:08,180 --> 00:04:10,370
tenemos el flujo, pero sin hacer nada.

58
00:04:12,220 --> 00:04:12,760
No pasa nada.

59
00:04:12,880 --> 00:04:16,350
Siempre tenemos que llamar a un método terminal.

60
00:04:16,480 --> 00:04:23,280
Bien, veamos otra forma de crear un stream, por ejemplo, a partir de un arreglo de string corchete,

61
00:04:24,460 --> 00:04:25,240
un arreglo.

62
00:04:25,420 --> 00:04:28,120
Igual las llaves y las llaves.

63
00:04:28,170 --> 00:04:32,740
Bueno, esta regla este mismo vamos a copiar, lo vamos a pegar.

64
00:04:35,080 --> 00:04:42,580
Trim del tipo String nombres, dos arrays.

65
00:04:42,700 --> 00:04:49,270
Esta clase halpert el método stream y pasamos al arreglo, fijan?

66
00:04:49,330 --> 00:04:49,960
Ahí lo tenemos.

67
00:04:50,560 --> 00:04:52,690
Incluso como ya existe esta variable nombre.

68
00:04:53,170 --> 00:04:54,220
Podemos utilizar la misma.

69
00:04:54,910 --> 00:04:56,950
Entonces podremos dejar nombres.

70
00:04:57,820 --> 00:04:58,660
Y esto lo quitamos.

71
00:05:01,120 --> 00:05:04,150
Y copiamos esto y lo pegamos acá.

72
00:05:08,660 --> 00:05:12,710
Bueno, lo imprimí dos veces arriba y abajo, incluso podríamos comentar esto.

73
00:05:16,460 --> 00:05:22,420
Para que le imprima una sola vez, o incluso podremos comentar esto y colocamos el tipo acá.

74
00:05:24,660 --> 00:05:24,930
Extrem

75
00:05:27,980 --> 00:05:28,360
30.

76
00:05:31,310 --> 00:05:35,180
Otra forma a partir de un arreglo, pero también tenemos otra forma.

77
00:05:35,510 --> 00:05:36,320
Voy a comentar.

78
00:05:38,700 --> 00:05:40,830
Utilizando Stream Builder

79
00:05:43,800 --> 00:05:49,520
del tipo string, nombres de stream.

80
00:05:49,680 --> 00:05:50,280
Punto.

81
00:05:50,370 --> 00:05:53,640
El método Builders por acavo como Builder.

82
00:05:56,650 --> 00:06:05,590
Llega, nos pide manejar un tipo de auto, por ejemplo, acá colocamos String antes de Builder y el

83
00:06:05,590 --> 00:06:06,000
método.

84
00:06:06,280 --> 00:06:15,310
Y ahí vamos agregando los elementos, por ejemplo Zapato, punto Add a Paco,

85
00:06:18,640 --> 00:06:19,330
a Pepa

86
00:06:22,390 --> 00:06:22,900
y a Pepe.

87
00:06:23,860 --> 00:06:28,930
Y con el método Build invocamos, construimos y transformamos.

88
00:06:28,930 --> 00:06:31,330
Esto aún stream del tipo String.

89
00:06:32,350 --> 00:06:36,610
Entonces con el Buil finalizamos y ahí tenemos creado nuestro stream de nombres.

90
00:06:37,570 --> 00:06:42,790
Entonces con Builder, un constructor, agregamos elemento y al final cuando tengamos todos los elementos,

91
00:06:42,910 --> 00:06:46,080
hacemos un build y construimos el string.

92
00:06:46,720 --> 00:06:49,000
Bueno, y después ya lo podemos utilizar.

93
00:06:51,220 --> 00:06:55,900
Con algún operador o algún operador final, como el foreach para poder iterar.

94
00:06:58,100 --> 00:06:59,870
Pato, Paco, Pepa y Pepe.

95
00:07:00,740 --> 00:07:01,790
Y para finalizar.

96
00:07:03,400 --> 00:07:04,450
Vamos a comentar esto.

97
00:07:06,780 --> 00:07:15,420
Vamos a crear un stream a partir de un tipo colecho, ya sea un set o un list, un list, por ejemplo,

98
00:07:15,510 --> 00:07:16,230
del tipo string

99
00:07:18,810 --> 00:07:21,900
lista todo porque el nombre voy a importar acá.

100
00:07:23,680 --> 00:07:30,010
Lleva útil un new array listo o linked list o lo que sea de una lista.

101
00:07:30,160 --> 00:07:32,980
Vamos a agregar elementos en este punto.

102
00:07:33,070 --> 00:07:33,430
Add.

103
00:07:49,020 --> 00:07:50,220
Bien, ahí tenemos la lista.

104
00:07:50,700 --> 00:07:55,470
Entonces ahora stream del tipo string elemento hay que contener.

105
00:07:55,590 --> 00:08:06,140
Utilizando genetic nombres igual lista nuestro tipo colección el ArrayList punto el método string y

106
00:08:06,160 --> 00:08:06,500
listo.

107
00:08:06,790 --> 00:08:11,130
Eso todos con el método String convertimos una lista o colección a un string.

108
00:08:11,400 --> 00:08:12,270
Ahora podemos iterar.

109
00:08:13,920 --> 00:08:14,640
Con esto vemos.

110
00:08:20,970 --> 00:08:26,070
Ahora tampoco necesario tener que crear la variable Steem, simplemente también la podemos utilizar,

111
00:08:26,610 --> 00:08:36,210
por ejemplo, acá Lyta punto stream, punto for echo.

112
00:08:43,070 --> 00:08:44,090
Y ya te lo puedo comentar.

113
00:08:47,750 --> 00:08:53,420
Entonces, directamente Elita Punto Stream y el operador foreach porque queremos utilizar.

114
00:08:55,840 --> 00:08:58,630
Diferentes alternativas bien, por ahora quedamos hasta acá.

115
00:08:58,750 --> 00:09:00,430
Nos vemos en la siguiente clase.
