1
00:00:00,180 --> 00:00:01,450
Bienvenidos en la clase anterior.

2
00:00:01,470 --> 00:00:03,600
Se me olvidó cambiar el nombre del archivo.

3
00:00:03,960 --> 00:00:06,060
Modifiqué los trim filter.

4
00:00:06,210 --> 00:00:09,570
Bueno, la idea es tener el respaldo del filtro anterior.

5
00:00:09,780 --> 00:00:17,220
Entonces vamos a renombrar nuestra clase acá trim filter o la copiamos y la pegamos y le colocamos en

6
00:00:17,220 --> 00:00:19,540
vez de filter flat map.

7
00:00:20,040 --> 00:00:20,420
Ok.

8
00:00:21,870 --> 00:00:22,110
Bien.

9
00:00:22,210 --> 00:00:24,000
Y el filter como constante.

10
00:00:25,250 --> 00:00:29,600
La verdad, no me acuerdo de cómo estaba, pero creo que veamos contra el Света.

11
00:00:32,020 --> 00:00:34,570
Eso así tiene que estar constante.

12
00:00:34,720 --> 00:00:39,130
Entonces tenemos el filter original con el operÃ filter tal como lo teníamos.

13
00:00:39,460 --> 00:00:42,400
Voy a cerrar y el flat map, que es lo que hicimos en clase anterior.

14
00:00:42,770 --> 00:00:46,150
Bien, pero en realidad en esta clase vamos a ver otro tema.

15
00:00:46,300 --> 00:00:48,880
Vamos a ver un nuevo ejemplo de 0.

16
00:00:48,970 --> 00:00:56,320
La idea de crear una lista del tipo ArrayList con tipos de usuario y a partir esta lista vamos a crear

17
00:00:56,410 --> 00:00:56,950
el stream.

18
00:00:57,010 --> 00:00:59,140
Creo que vimos algo también al comienzo.

19
00:00:59,170 --> 00:01:04,510
Cómo crear un stream a partir de un tipo colectaron, ya sea un set o una lista.

20
00:01:04,660 --> 00:01:05,680
Bien, vamos a trabajar.

21
00:01:06,400 --> 00:01:08,020
Entonces vamos a crear una clase.

22
00:01:12,360 --> 00:01:13,050
Listo.

23
00:01:13,320 --> 00:01:14,160
Ejemplo Stream.

24
00:01:14,280 --> 00:01:15,030
Listo.

25
00:01:15,570 --> 00:01:19,260
Tu stream y también lo vamos a ver con flashmob.

26
00:01:19,380 --> 00:01:22,560
Bueno, y lo que hemos visto con el metodo main

27
00:01:27,960 --> 00:01:28,830
del tipo usuario.

28
00:01:28,920 --> 00:01:29,500
Una lista.

29
00:01:29,580 --> 00:01:38,330
Vamos a importar de yeva útil lista igual new ArrayList.

30
00:01:41,600 --> 00:01:45,880
Tenemos que importar usuario, entonces Hakam listo.

31
00:01:47,180 --> 00:01:48,340
Vamos a agregar usuario.

32
00:01:51,870 --> 00:01:55,460
Usuario con el nombre apellido, por ejemplo Andrés.

33
00:02:50,900 --> 00:02:52,880
Bien, hoy tenemos varios usuarios una lista.

34
00:02:53,270 --> 00:02:57,440
Ahora la idea es convertir esto en un extremo del tipo usuario.

35
00:02:58,490 --> 00:02:59,210
La lista.

36
00:02:59,270 --> 00:02:59,810
Punto.

37
00:02:59,900 --> 00:03:04,460
El método es trim porque tienen método trim, que todo lo conecta con Kilito.

38
00:03:04,570 --> 00:03:06,980
Hoy convertimos a un tipo stream de usuario.

39
00:03:07,130 --> 00:03:13,370
Incluso podrían crear una variable del tipo trim con el generic de usuario Puffin, pero lo vamos a

40
00:03:13,370 --> 00:03:14,480
trabajar de esta forma.

41
00:03:14,570 --> 00:03:17,770
Pero ahora quiere convertir esta lista de usuario a un tipo String.

42
00:03:17,990 --> 00:03:21,410
El proceso contrario a lo que hicimos anteriormente.

43
00:03:21,560 --> 00:03:23,700
Vamos a usar un mapa acá.

44
00:03:23,780 --> 00:03:27,800
Si imite el objeto usuario y lo quiero convertir a un string.

45
00:03:28,100 --> 00:03:34,430
Por ejemplo, concatenado en nombre la U punto get nombre punto.

46
00:03:34,580 --> 00:03:36,190
Lo podemos convertir a mayúscula.

47
00:03:36,510 --> 00:03:49,240
Tú a parqués junto con като un espacio junto con като usuario punto get apellido y también en mayúscula

48
00:03:49,520 --> 00:03:50,930
punto a parqués.

49
00:03:51,470 --> 00:03:52,470
Es decir, ambos mayúscula.

50
00:03:52,850 --> 00:03:54,890
Voy a bajar para que no sea tan extenso.

51
00:03:55,580 --> 00:03:58,390
Acá, después acá.

52
00:03:59,660 --> 00:04:00,010
Listo.

53
00:04:00,050 --> 00:04:05,180
Ahí tenemos este flamante punto for hecho en punto.

54
00:04:05,270 --> 00:04:06,130
Otro dos.

55
00:04:06,200 --> 00:04:07,780
Punto, punto, prenda.

56
00:04:07,880 --> 00:04:08,750
Vemos al resultado.

57
00:04:14,020 --> 00:04:19,240
Convertimos todos los usuarios al tipo String con el nombre, apellido y en mayúscula.

58
00:04:19,570 --> 00:04:24,790
Qué pasa si yo requiero filtrar pero sin usar filter, sino utilizando flat map, tal como lo vimos

59
00:04:24,880 --> 00:04:25,700
en la clase anterior?

60
00:04:25,840 --> 00:04:28,360
Pero filtrar después del map del string?

61
00:04:28,450 --> 00:04:29,740
Cuando convertimos a Estric.

62
00:04:29,950 --> 00:04:34,630
Ahora, si lo hacemos antes, filtramos por el objeto usuario invocando sus atributos.

63
00:04:34,720 --> 00:04:38,410
Si filtramos después del MAP, filtramos los strings.

64
00:04:38,650 --> 00:04:39,610
Entonces hay una diferencia.

65
00:04:39,730 --> 00:04:41,530
Depende de donde lo utilizamos.

66
00:04:41,620 --> 00:04:49,540
Si lo utilizamos antes o después, bien lo vamos a hacer después por acá después del map punto flat

67
00:04:49,540 --> 00:04:49,810
map.

68
00:04:50,380 --> 00:04:55,000
Acá se emite el string, el nombre que tanto mayúscula.

69
00:04:55,410 --> 00:04:58,370
Bien, entonces nombre que es del tipo string.

70
00:04:58,780 --> 00:04:59,320
Punto.

71
00:04:59,410 --> 00:05:08,170
Se fijan acá dice tiene que ser del tipo String acá, pero vamos a utilizar un punto equals y quarts

72
00:05:08,230 --> 00:05:10,210
o equals Henriquez y creo.

73
00:05:10,510 --> 00:05:17,950
Por ejemplo filtrar por Pepe bienpero problema que nombre está formado por el nombre apellido concatenado

74
00:05:18,040 --> 00:05:19,000
y mÃxime en mayúscula.

75
00:05:19,210 --> 00:05:24,730
Entonces si colocamos equals Pepe obviamente no lo encontrar porque muy distinto no es el mismo string.

76
00:05:25,180 --> 00:05:29,780
Entonces en vez de utilizar equals es mucho mejor utilizar contains.

77
00:05:30,460 --> 00:05:31,840
Entonces contains.

78
00:05:32,200 --> 00:05:38,590
Es decir, si contiene esa palabra en este caso Pepe y en mayúscula porque está en mayúscula, o a no

79
00:05:38,590 --> 00:05:42,760
ser que coloquemos en minúscula y acá le invoquemos el tubo a perqué.

80
00:05:44,830 --> 00:05:50,320
Así nos aseguramos que siempre lo que esté acá va en mayúscula y compramos mayúscula con mayúscula por

81
00:05:50,320 --> 00:05:51,090
la conversión acá.

82
00:05:52,530 --> 00:06:04,830
Entonces acá retornamos un stream of nombre, importamos trem de lleba útil si no

83
00:06:07,800 --> 00:06:08,190
entre.

84
00:06:10,120 --> 00:06:10,720
Vamos a ver.

85
00:06:13,430 --> 00:06:14,180
PP Fernande.

86
00:06:15,430 --> 00:06:16,930
Vamos a agregar dos usuarios más.

87
00:06:18,530 --> 00:06:19,190
A la lista

88
00:06:24,260 --> 00:06:26,870
brus lím.

89
00:06:28,890 --> 00:06:29,610
Brus.

90
00:06:32,130 --> 00:06:36,390
Willys ahora si, tan minúscula mayúscula, lo mismo, porque igualmente se convierte en mayúscula.

91
00:06:36,510 --> 00:06:38,970
Pero de todas formas lo dejamos acá en mayúscula.

92
00:06:39,690 --> 00:06:40,890
Vamos a buscar por Brush.

93
00:06:44,190 --> 00:06:45,210
Daire Parecen los dos.

94
00:06:46,640 --> 00:06:47,750
Piruli y brûlée.

95
00:06:48,560 --> 00:06:53,660
Ahora, qué pasa si acá tenemos un mapp el nombre?

96
00:06:56,040 --> 00:06:56,780
Nombre?

97
00:06:56,840 --> 00:06:57,380
Punto.

98
00:06:57,410 --> 00:06:58,500
Tú, Lour.

99
00:06:58,620 --> 00:07:03,290
Eso incluso lo podemos simplificar con el string.

100
00:07:03,350 --> 00:07:06,710
Acá dos punto a punto.

101
00:07:06,830 --> 00:07:08,630
Tú lo workers, quitamos los paréntesis.

102
00:07:14,550 --> 00:07:15,780
Que minuscula bien.

103
00:07:15,840 --> 00:07:19,650
Vamos a cambiar el operador terminal en vez de foreach vamos a colocar PIK.

104
00:07:20,280 --> 00:07:27,720
Bueno, en realidad Pig no eh terminal, pero vamos a hacer lo siguiente vamos a colocar stream type

105
00:07:27,720 --> 00:07:30,990
tipo string nombres.

106
00:07:32,710 --> 00:07:39,570
Acá lo podemos utilizar shout nombres punto com to y count.

107
00:07:39,690 --> 00:07:40,960
Sé que es un operador terminal.

108
00:07:41,880 --> 00:07:46,350
Entonces la idea de mostrar con el PIC los elementos y el total los elementos encontrados.

109
00:07:46,440 --> 00:07:47,310
Quedamos hasta acá.

110
00:07:47,370 --> 00:07:49,170
Nos vemos en la siguiente clase.
