1
00:00:00,210 --> 00:00:01,470
Bien, continuamos con los set.

2
00:00:01,560 --> 00:00:02,970
Vamos a crear un nuevo proyecto.

3
00:00:03,030 --> 00:00:04,270
Nos vamos a ir a File.

4
00:00:04,380 --> 00:00:06,930
Cerramos todo y creamos uno nuevo.

5
00:00:07,380 --> 00:00:08,790
New como siempre.

6
00:00:09,360 --> 00:00:10,020
Yaba.

7
00:00:10,140 --> 00:00:15,660
Siguiente, siguiente y el nombre Colecciones.

8
00:00:15,780 --> 00:00:16,440
Finalizar.

9
00:00:19,140 --> 00:00:22,950
Bien, entonces por acá, en ese reze, vamos a crear un pacato.

10
00:00:27,270 --> 00:00:27,910
Punto Z?

11
00:00:28,820 --> 00:00:31,750
Bien, acá vamos a tener otro ejemplo de los set.

12
00:00:32,010 --> 00:00:37,800
Después vamos a tener otro para list y así vamos a crear una clase con el método Main y le damos a llamar

13
00:00:37,890 --> 00:00:39,750
ejemplo jazz set.

14
00:00:39,990 --> 00:00:40,560
Agregar.

15
00:00:45,480 --> 00:00:46,300
El método Main?

16
00:00:49,200 --> 00:00:49,740
Perfecto.

17
00:00:49,800 --> 00:00:55,780
Bueno, para crear una instancia de un set podemos utilizar la interfaz, por ejemplo, muy parecido

18
00:00:55,780 --> 00:01:01,050
al list, pero también la implementación concreta siempre importante.

19
00:01:01,050 --> 00:01:04,200
Generic vamos a importar de Java útil importante.

20
00:01:04,680 --> 00:01:08,310
Indicamos el tipo con el operador diamante estric.

21
00:01:08,760 --> 00:01:13,770
Vamos a ver un ejemplo String pero pudiesse cualquier tipo objeto, persona, cliente, producto, lo

22
00:01:13,770 --> 00:01:17,040
que sea, entonces igual creamos la instancia.

23
00:01:17,160 --> 00:01:26,160
El constructor hct se fijan es similar al list, pero utilizando zet y la implementación HCT y del tipo

24
00:01:26,220 --> 00:01:31,320
asset concreto, pero bien los métodos finalmente que utilizamos al día a día, como por ejemplo para

25
00:01:31,320 --> 00:01:37,560
agregar con el laud, para eliminar con el remu el método is empty para hacerse vacío o content para

26
00:01:37,560 --> 00:01:39,270
saber si contiene algún objeto.

27
00:01:39,390 --> 00:01:45,080
En fin, ya sea listas con los list o con los set son métodos que están definidos en los contratos de

28
00:01:45,090 --> 00:01:45,780
interfaces.

29
00:01:45,900 --> 00:01:52,200
Entonces, bueno, es mucho mejor usar o definir esta variable como el tipo más genérico del tipo de

30
00:01:52,200 --> 00:01:52,780
la interfaz.

31
00:01:53,170 --> 00:02:00,030
Entonces utilizamos set, importamos, aunque finalmente para este ejemplo, que es simple, solamente

32
00:02:00,240 --> 00:02:02,340
da lo mismo dar exactamente igual.

33
00:02:02,650 --> 00:02:09,210
Bien, vamos a agregar elementos H.S punto ADD se fijan tiene metodo muy similar, prácticamente lo

34
00:02:09,210 --> 00:02:12,960
mismo que el list, porque tienen el padre en común que es el collection.

35
00:02:13,020 --> 00:02:20,460
Finalmente, estos métodos son del colección Agregar agregar varios limpiar o eliminar todos contains

36
00:02:20,610 --> 00:02:22,410
para preguntar si tiene algún elemento.

37
00:02:22,530 --> 00:02:27,170
En fin, preguntar si contiene un conjunto el equals ascot.

38
00:02:27,300 --> 00:02:30,210
Si es vacío is empty remu el obieto.

39
00:02:30,300 --> 00:02:34,950
Recuerden que importante queda tener el equals rimo old y así se fijan.

40
00:02:35,550 --> 00:02:37,050
Entonces vamos a agregar elementos.

41
00:02:37,470 --> 00:02:40,650
Recuerden que el add retorna un boolean, un cierto.

42
00:02:40,650 --> 00:02:43,020
Si se agregó o no eso importante.

43
00:02:43,260 --> 00:02:44,760
Entonces vamos a partir con 1.

44
00:02:48,660 --> 00:02:49,170
2.

45
00:02:51,810 --> 00:02:52,340
3.

46
00:02:57,280 --> 00:02:58,270
Y así hasta 5.

47
00:03:00,800 --> 00:03:04,400
Shout Vamos a imprimir el set HCA.

48
00:03:05,970 --> 00:03:06,510
Vamos a ver.

49
00:03:07,470 --> 00:03:08,280
Levantamos.

50
00:03:09,450 --> 00:03:11,560
Ya tenemos cinco uno, dos, tres, cuatro.

51
00:03:11,650 --> 00:03:17,290
Se fijan, no es ordenado, no mantiene ningún orden en particular, ni siquiera el de registro, ni

52
00:03:17,290 --> 00:03:18,820
tampoco orden natural.

53
00:03:18,940 --> 00:03:22,870
Simplemente un set no es ordenado, no garantiza ningún orden.

54
00:03:23,920 --> 00:03:31,000
Y por supuesto, ahora, si queremos agregar un nuevo elemento H.S punto AB, por ejemplo, vamos a

55
00:03:31,000 --> 00:03:36,850
agregar el 3 shout, volvemos a levantar.

56
00:03:38,780 --> 00:03:40,400
El TRE está repetido, se fijan.

57
00:03:41,740 --> 00:03:42,910
No lo agrega de nuevo.

58
00:03:43,210 --> 00:03:45,610
Por lo tanto, este va a retornar fols.

59
00:03:47,470 --> 00:03:50,170
Un bullían igual, perfecto.

60
00:03:50,650 --> 00:03:55,660
Y acá vamos a imprimir 11 Shout permite elementos duplicados

61
00:04:00,400 --> 00:04:01,960
si o no más.

62
00:04:02,360 --> 00:04:04,500
B Este bullían que tenemos acá.

63
00:04:06,410 --> 00:04:07,280
Levantamos.

64
00:04:09,340 --> 00:04:15,880
Fols se fijan, un set no permite elementos duplicados, no mantiene el orden, entonces acá son thru,

65
00:04:16,210 --> 00:04:21,510
se fijan, claro, porque cada ADT retorna un BULLÍAN y como el 1 no existe es true.

66
00:04:21,680 --> 00:04:22,510
2 true.

67
00:04:22,540 --> 00:04:23,500
3 es true.

68
00:04:23,590 --> 00:04:24,130
Se fija.

69
00:04:24,280 --> 00:04:25,660
Incluso lo podríamos revisar.

70
00:04:26,170 --> 00:04:27,130
Voy a copiar esto.

71
00:04:27,820 --> 00:04:28,720
Lo pegamos acá.

72
00:04:31,720 --> 00:04:33,100
Y cerramos en cada uno.

73
00:04:42,640 --> 00:04:43,670
Te fijas, son todo otro.

74
00:04:44,270 --> 00:04:45,890
Es decir, se agregó de forma correcta.

75
00:04:46,040 --> 00:04:46,940
Luego se imprime.

76
00:04:47,030 --> 00:04:50,540
Intentamos agregar un duplicado el tres, pero retorna fols.

77
00:04:51,580 --> 00:04:56,470
A diferencia de las listas, fíjense en el orden cinco, uno, dos, tres, cuatro.

78
00:04:56,680 --> 00:04:58,090
O al que sea, da lo mismo.

79
00:04:58,180 --> 00:05:00,160
No es ordenado y effort.

80
00:05:00,730 --> 00:05:02,950
Cambiemos acá en vez de un asset.

81
00:05:03,040 --> 00:05:04,630
O de hecho, ni siquiera lo hagan.

82
00:05:04,690 --> 00:05:07,150
Solamente lo voy a escribir para que lo vean.

83
00:05:07,240 --> 00:05:07,990
Para el ejemplo.

84
00:05:08,080 --> 00:05:09,280
Pero no es necesario que lo hagan.

85
00:05:09,430 --> 00:05:10,930
Total, después voy a volver atrás.

86
00:05:11,560 --> 00:05:13,210
Voy a colocar acá un ArrayList.

87
00:05:15,670 --> 00:05:22,520
Vamos a importar de yeva útil y acá un list@ de la interfaz cierto, ya Batty perfecto.

88
00:05:22,780 --> 00:05:25,120
Tenemos una lista en vez de un set.

89
00:05:25,510 --> 00:05:30,640
Los métodos son lo mismo porque, recuerden, comparten la misma interfaz colectaron tienen en común

90
00:05:30,730 --> 00:05:32,750
el collection, tanto los list como los sets.

91
00:05:33,760 --> 00:05:35,380
Entonces levantamos.

92
00:05:36,880 --> 00:05:42,460
El orden es el mismo en el cual se registran uno dos tres cuatro cinco uno dos tres cuatro cinco.

93
00:05:42,880 --> 00:05:49,560
Una lista ordenada, según vayamos agregando elementos, además, permite elemento duplicado thru.

94
00:05:49,720 --> 00:05:50,380
Claro que sí.

95
00:05:51,010 --> 00:05:55,660
De hecho, acá aparece el tres repetido 1, 2, 3 acá y 3 acá.

96
00:05:56,500 --> 00:06:02,260
A diferencia de los Zeta, incluso acá podríamos querer ordenar el array list.

97
00:06:02,740 --> 00:06:03,340
Se guardan.

98
00:06:04,010 --> 00:06:04,780
Esto tampoco.

99
00:06:04,780 --> 00:06:07,510
No es necesario que lo hagan solamente para que lo vean.

100
00:06:08,770 --> 00:06:12,520
Entonces collections en plural con ese punto short.

101
00:06:12,760 --> 00:06:16,240
Acá solamente por ordenar listas se fijan del tipo list.

102
00:06:16,900 --> 00:06:17,770
Entonces.

103
00:06:18,010 --> 00:06:18,760
H.S.

104
00:06:20,870 --> 00:06:26,660
Siempre cuando implementen la interfaz comparable, pero como es un string todo string, toda clase

105
00:06:26,690 --> 00:06:28,430
rapper implementa comparable.

106
00:06:28,490 --> 00:06:34,100
Ahora, si queremos ordenar, como hemos visto, una clase cualquiera, como usuario o lo que sea,

107
00:06:34,220 --> 00:06:36,950
tenemos que implementar la interfaz comparable para que se puedan ordenar.

108
00:06:36,950 --> 00:06:41,720
Por ejemplo, por algún atributo, por el Edy, por el nombre, el email o lo que queramos.

109
00:06:42,650 --> 00:06:43,370
Levantamos.

110
00:06:43,460 --> 00:06:44,570
Iba a cambiar acá el orden.

111
00:06:45,650 --> 00:06:49,070
5 4 2 3 1 3 se fijan.

112
00:06:50,140 --> 00:06:54,910
Cambia el orden, pero acá ordenamos antes de agregar el 3.

113
00:06:55,000 --> 00:06:55,480
Se fijan.

114
00:06:55,570 --> 00:06:59,800
Entonces por eso acá el 3 no está ordenado, pero si lo colocamos acá.

115
00:07:05,680 --> 00:07:11,560
El 3 que acá se fijan no ordena, pero bien con Zeta lo dejo como estaba acá.

116
00:07:11,740 --> 00:07:15,760
Perfecto, ahora voy a volver al set y fíjense lo que pasa con el short.

117
00:07:16,780 --> 00:07:22,180
Entonces acá sería bueno un asset.

118
00:07:24,570 --> 00:07:24,980
Z?

119
00:07:27,480 --> 00:07:32,760
Marca error, porque los Shet no se pueden ordenar, se fijan, no se puede.

120
00:07:32,910 --> 00:07:39,020
Ahora, claro, podría tener un set, un set y quizá en alguna aplicación necesito ordenar este set.

121
00:07:39,120 --> 00:07:44,160
Bueno, se puede hacer, pero tendría que convertir este set en una raid list, por ejemplo.

122
00:07:44,250 --> 00:07:45,570
Tampoco es necesario que lo hagan.

123
00:07:46,350 --> 00:07:50,160
List strength lista.

124
00:07:50,550 --> 00:07:58,520
Ok, igual new ArrayList y por constructor pasamos el set del asset.

125
00:07:59,100 --> 00:08:04,880
Es decir, a partir de un set podemos crear una red list y le pasamos el objeto del tipo collection.

126
00:08:05,160 --> 00:08:09,360
Se fijan porque el array list acepta en el constructor un collection se fijan.

127
00:08:10,230 --> 00:08:15,540
Ahí aparece del tipo colecho o cualquier implementación de colecho como los ceto o otra lista.

128
00:08:16,140 --> 00:08:18,000
Y ahora por denar esta lista.

129
00:08:19,590 --> 00:08:20,040
A. S.

130
00:08:21,610 --> 00:08:27,610
Ahora, lo que sí, para ver el resultado tendré que imprimir la lista y no el set, porque el set finalmente

131
00:08:27,610 --> 00:08:29,650
nos ordena lo que se ordena en la nueva lista.

132
00:08:30,350 --> 00:08:32,470
Shout lista.

133
00:08:37,170 --> 00:08:38,490
Perfecto, entonces tenemos el set.

134
00:08:38,580 --> 00:08:42,030
El primero que no es ordenado que el que imprimimos acá.

135
00:08:42,300 --> 00:08:48,950
Luego tenemos la lista ordenada porque le aplicamos el short, se fijan y ahí sí.

136
00:08:49,050 --> 00:08:53,220
5, 4, 2, 3, 1 de forma natural o alfabética.

137
00:08:54,620 --> 00:09:00,860
Fours no acepta duplicado, pero al final lo que estamos haciendo es es ordenar un ArrayList a partir

138
00:09:00,860 --> 00:09:01,370
de un set.

139
00:09:01,580 --> 00:09:07,130
No es que estemos ordenando el ceto listo, voy a quitar esto, voy a quitar esto de acá y eso.

140
00:09:07,390 --> 00:09:08,450
Bien, eso sería por ahora.

141
00:09:08,540 --> 00:09:11,150
Continuamos la siguiente clase con más ejemplos.

142
00:09:11,300 --> 00:09:11,990
Nos vemos.
