1
00:00:00,180 --> 00:00:01,770
Bien, veamos un arreglo de automóvil.

2
00:00:01,890 --> 00:00:04,020
Vamos a cerrar la clase que tenemos motor.

3
00:00:04,110 --> 00:00:06,930
Bueno, toda la clase y dejamos solamente automóvil.

4
00:00:07,710 --> 00:00:13,040
Incluso la clase con el Main también la vamos a cerrar porque la vamos a copiar y la vamos a pegar y

5
00:00:13,050 --> 00:00:15,060
vamos a crear un ejemplo desde cero.

6
00:00:15,180 --> 00:00:19,960
Entonces automóvil, arreglo perfecto y lo vamos a modificar.

7
00:00:20,010 --> 00:00:22,230
Porque la idea de tener un arreglo de automóvil.

8
00:00:22,290 --> 00:00:23,610
Pero no solamente eso también.

9
00:00:23,670 --> 00:00:27,960
Cómo podríamos ordenar, por ejemplo, por fabricante este arreglo?

10
00:00:28,020 --> 00:00:32,400
O bien ordenar por modelo, incluso por nombre del conductor de la persona?

11
00:00:32,550 --> 00:00:33,780
Entonces, por ahí va la idea.

12
00:00:33,900 --> 00:00:38,430
Y eso es lo que cree que aprendemos en esta clase trabajar arreglos de objeto.

13
00:00:38,550 --> 00:00:42,120
Y cómo podemos implementar un orden por atributo?

14
00:00:42,210 --> 00:00:43,440
Pero lo vamos a dejar simple.

15
00:00:43,530 --> 00:00:44,640
Vamos a modificar esto.

16
00:00:44,730 --> 00:00:51,060
Va a mojar solamente los automóvil con el fabricante y también el modelo y el conductor.

17
00:00:51,190 --> 00:00:53,610
Bueno, el motor, el estanque color.

18
00:00:53,700 --> 00:00:55,500
El tipo también lo podemos dejar.

19
00:00:55,590 --> 00:00:56,220
No hay problema.

20
00:00:57,170 --> 00:01:00,050
Pero la rueda, para simplificar, la vamos a quitar.

21
00:01:00,290 --> 00:01:02,270
Entonces vamos a quitar esto, la rueda también.

22
00:01:03,310 --> 00:01:04,000
Nisan.

23
00:01:05,510 --> 00:01:10,100
Vamos a quitar esto de acá también lo quitamos.

24
00:01:11,750 --> 00:01:19,430
Vamos a tener por un lado Subaru, Mazda, Nissan y Nissan 2 y otro automóvil, como quitamos rueda

25
00:01:19,640 --> 00:01:20,510
acá lanza el error.

26
00:01:20,600 --> 00:01:26,360
Así que bueno, recuerden que cuando agregamos un conductor vía constructor también nos pide la rueda

27
00:01:26,510 --> 00:01:28,550
a menos que tengamos otro constructor.

28
00:01:28,640 --> 00:01:31,730
O bien asignar la persona via mtodos.

29
00:01:31,730 --> 00:01:38,180
Ceto lo voy a cortar y por acá ceto nizan 2 set conductor.

30
00:01:38,810 --> 00:01:40,580
Bien, ya tenemos otro automóvil.

31
00:01:40,670 --> 00:01:44,360
Bueno, de hecho Nissan lo voy a cambiar para que sea distinto para el orden.

32
00:01:44,450 --> 00:01:47,720
Por ejemplo, le vamos a colocar Suzuki evitarÃ.

33
00:01:51,970 --> 00:01:54,190
Guitara el motor 1.6.

34
00:01:55,480 --> 00:02:03,850
Tipo Encina tabién el tipo bueno no es camioneta, una pick up en realidad es un tipo cuatro por cuatro

35
00:02:03,850 --> 00:02:06,550
todoterreno que se le conoce como SUV.

36
00:02:06,760 --> 00:02:09,880
Lo podríamos agregar tipo automóvil.

37
00:02:10,900 --> 00:02:12,520
Vamos a crear una nueva constante.

38
00:02:12,760 --> 00:02:16,090
De hecho, nos faltó esa todo terreno se le conoce como sub.

39
00:02:17,640 --> 00:02:18,390
El tipo su?

40
00:02:18,510 --> 00:02:20,270
Que significa todo terreno deportivo

41
00:02:23,990 --> 00:02:25,320
de 5 puerta.

42
00:02:26,010 --> 00:02:28,020
Volvemos y lo agregamos.

43
00:02:30,160 --> 00:02:30,760
Perfecto.

44
00:02:30,910 --> 00:02:31,690
Y acaso Suti

45
00:02:34,900 --> 00:02:35,480
llega también.

46
00:02:36,930 --> 00:02:40,010
Y acá podríamos tener otro más para tener un poco más de variedad.

47
00:02:40,450 --> 00:02:41,050
Audi.

48
00:02:43,070 --> 00:02:48,770
Un Audi, el modelo A3 y lo dejamos ahí sin tanto detalle, si da lo mismo.

49
00:02:50,180 --> 00:02:58,340
Lo que sí podríamos agregar el conductor New Persona, por ejemplo Jano, Jano Pérez.

50
00:02:58,790 --> 00:03:10,070
Bien ahí tenemos varios auto y el arreglo automóvil corchete un arreglo autos igual new automóvil corchete

51
00:03:10,490 --> 00:03:18,170
1 1 2 3 4 5 5 automóvil autos corchete.

52
00:03:18,260 --> 00:03:37,040
En el primero vamos a dejar a Subaru, en el 1 dejamos Amanda, en el 2 dejamos a Nissan, en el 3 dejamos

53
00:03:37,040 --> 00:03:37,670
a Suzuki

54
00:03:41,780 --> 00:03:44,560
y en el 4 vamos a dejar Audi.

55
00:03:47,060 --> 00:03:55,040
Vamos a iterar con un Ford L hipertenso cero hasta el total autos punto link.

56
00:03:55,190 --> 00:03:59,840
Incrementamos perfecto y vamos a mostrar cada elemento.

57
00:03:59,960 --> 00:04:05,980
Entonces shout autos corchete y vamos a imprimir el automóvil.

58
00:04:06,440 --> 00:04:12,500
Pero recuerden, cada elemento de cada automóvil le da a imprimir, por ejemplo, el fabricante y el

59
00:04:12,500 --> 00:04:12,890
modelo.

60
00:04:12,920 --> 00:04:19,370
Pero acá tenemos el string que justamente imprime el Heidy fabricante y el modelo.

61
00:04:19,610 --> 00:04:22,850
Entonces bueno, imprimimos el objeto con el string.

62
00:04:24,240 --> 00:04:25,020
Esa sería la idea.

63
00:04:25,470 --> 00:04:26,850
De hecho, vamos a levantar.

64
00:04:28,240 --> 00:04:34,600
Ya tenemos su oro impreso Amanda, se fijan, imprime en el orden en que se registran, pero quiero

65
00:04:34,600 --> 00:04:40,930
ordenar, quiero ordenar este arreglo por fabricante o por modelo, o incluso por el nombre conductor.

66
00:04:41,050 --> 00:04:45,130
Da lo mismo cómo lo podrían implementar y es el tema que quería ver en esta clase.

67
00:04:45,520 --> 00:04:49,000
Bueno, sabemos que a raíz por ahí lo vimos.

68
00:04:49,090 --> 00:04:54,610
Punto Short podrían ordenar por ejemplo autos, pero vamos a tener un problema.

69
00:04:54,700 --> 00:04:55,960
Bueno, de hecho una marca error.

70
00:04:56,050 --> 00:04:57,400
Pero veamos qué sucede.

71
00:04:57,760 --> 00:04:58,600
Levantamos.

72
00:04:59,810 --> 00:05:03,200
No marca error de sintaxis, pero sí marca error en tiempo de ejecución.

73
00:05:03,320 --> 00:05:07,370
Y es porque no podemos ordenar objetos del tipo TOMÓVIL.

74
00:05:07,430 --> 00:05:09,350
Por qué necesita tener un contrato?

75
00:05:09,470 --> 00:05:11,150
Implementar una interfaz?

76
00:05:11,240 --> 00:05:16,460
Bueno, después vamos a entrar en detalle a lo que es interfaz, pero por ahora solamente vamos a utilizar.

77
00:05:16,550 --> 00:05:21,740
Vamos a implementar este contrato y al final, igual que un contrato en la vida real, si tu cumple

78
00:05:21,740 --> 00:05:25,340
ese contrato, puedes realizar algún trabajo, alguna tarea.

79
00:05:25,400 --> 00:05:27,530
Ejecutar algo acá es lo mismo.

80
00:05:27,650 --> 00:05:32,690
Si tu cumple con el contrato de implementación de una interfaz que son firma de método.

81
00:05:32,790 --> 00:05:37,820
Bueno, si tu cumple con eso, entonces puedes ejecutar algunas actividades, algunos trabajos, por

82
00:05:37,820 --> 00:05:40,130
ejemplo, que los sujetos se pueden ordenar.

83
00:05:40,230 --> 00:05:44,210
Bien, entonces ahora tenemos que implementar esta interfaz se llama comparable.

84
00:05:44,780 --> 00:05:46,380
Entonces nos vamos automóvil.

85
00:05:46,520 --> 00:05:51,080
Por ahora no se preocupen si no comprenden el 100 por ciento, porque después lo vamos a ver más en

86
00:05:51,080 --> 00:05:51,460
detalle.

87
00:05:51,530 --> 00:05:53,720
Pero por ahora usamos la palabra clave.

88
00:05:53,810 --> 00:05:54,440
Implementé

89
00:05:56,900 --> 00:05:59,770
comparable a una interfaz propia de Yaba.

90
00:06:00,770 --> 00:06:01,260
Perfecto.

91
00:06:01,340 --> 00:06:06,740
Acá marco un error y está bien porque nos dice que tenemos que implementar el contrato, que sería el

92
00:06:06,740 --> 00:06:09,470
método comprar con o compare tú.

93
00:06:09,620 --> 00:06:12,530
Entonces nos posicionamos sobre el error y hacemos un clic.

94
00:06:12,650 --> 00:06:15,580
Implementar método acá implemente método.

95
00:06:15,710 --> 00:06:21,990
Eso sería una forma ya otra forma es con hover right o sobreescribir y bajamos al final.

96
00:06:22,430 --> 00:06:23,960
Cualquiera de las dos forma está bien.

97
00:06:25,000 --> 00:06:26,200
Por ejemplo, por acá.

98
00:06:27,590 --> 00:06:28,490
Clic derecho.

99
00:06:28,560 --> 00:06:29,240
Generate.

100
00:06:30,790 --> 00:06:33,940
Implemente métodos acá implemento.

101
00:06:35,230 --> 00:06:37,710
Compare tu lo seleccionamos, ok.

102
00:06:38,530 --> 00:06:40,630
Ahora, si subimos el error, desaparecen.

103
00:06:40,990 --> 00:06:42,220
Está bien, namarca, error.

104
00:06:44,950 --> 00:06:48,760
Entonces, bueno, se van comparando un objeto con otro en el arreglo.

105
00:06:48,880 --> 00:06:49,720
Igual que el string.

106
00:06:49,930 --> 00:06:56,050
Lo primero acá obtengo el tipo objeto, que es el tipo también automóvil, con el cual me voy a comparar

107
00:06:56,110 --> 00:06:57,520
para que se puedan ordenar.

108
00:06:57,880 --> 00:07:05,110
Entonces tengo que hacer un cast acá automóvil, le voy a colocar a de automóvil igual y hacemos el

109
00:07:05,110 --> 00:07:12,820
cast de automóvil o el que recibo por argumento o y hacemos el cast porque estamos recibiendo un tipo

110
00:07:12,820 --> 00:07:14,740
genérico, un tipo object.

111
00:07:14,920 --> 00:07:16,030
Entonces ahora comparamos.

112
00:07:16,270 --> 00:07:17,680
Bueno, y acá tenemos que decidir.

113
00:07:17,740 --> 00:07:18,730
Comparamos por qué?

114
00:07:18,790 --> 00:07:20,200
Por nombre fabricante?

115
00:07:20,230 --> 00:07:24,460
Por el nombre de modelo del automóvil o quiero ordenar con el nombre conductor?

116
00:07:24,580 --> 00:07:25,150
Se fijan?

117
00:07:25,280 --> 00:07:32,380
Bueno, por ejemplo fabricante entonces fabricante punto comparar con o comprar tú y como fabricante

118
00:07:32,380 --> 00:07:33,020
es un string.

119
00:07:33,160 --> 00:07:38,590
Le invocamos el método compartio y ordenamos por el fabricante por ese string o cadena.

120
00:07:38,710 --> 00:07:45,820
No es que estemos ordenando por automóvil, sino por el atributo fabricante y pasamos el objeto o que

121
00:07:45,820 --> 00:07:47,290
se recibe por argumento.

122
00:07:48,130 --> 00:07:50,960
Se fijan al final estamos comparando por string.

123
00:07:51,090 --> 00:07:59,800
Perdón el a porque hicimos cast en el a. a caería a. no al A. El tema es que invocar el fabricante.

124
00:08:01,900 --> 00:08:09,850
A ese lo se comparábamos el fabricante o fabricante de esta clase coloco diss para que sea más explícito,

125
00:08:10,060 --> 00:08:15,760
pero lo mismo Diss fabricante de esta instancia lo comparamos con el fabricante del otro automóvil que

126
00:08:15,760 --> 00:08:21,670
sean, comparando en el arreglo de forma automática cuando lo queremos organizar, ordenar con el sorteo

127
00:08:21,910 --> 00:08:26,590
de la clase Arraiz y estamos listos entonces ahora si volvemos.

128
00:08:27,610 --> 00:08:28,720
Se van a ordenar?

129
00:08:30,970 --> 00:08:41,320
Se fijan Audi, Mazda, Nissan, Subaru Suzuki de forma ascendente de la A hasta la Z, por ejemplo,

130
00:08:41,410 --> 00:08:42,700
nada más que un ejemplo.

131
00:08:42,820 --> 00:08:50,890
Si Subaru le colocó a Z solamente para el ejemplo, no es necesario que lo hagan Subaru con Z y ejecutamos

132
00:08:51,760 --> 00:08:53,470
Subaru pasa al último lugar.

133
00:08:53,620 --> 00:08:55,030
Se fijan que está bien.

134
00:08:55,300 --> 00:08:56,170
Vuelvo atrás.

135
00:08:56,290 --> 00:08:57,190
Control Z.

136
00:08:57,340 --> 00:08:58,420
Esto lo dejamos así.

137
00:08:59,020 --> 00:09:03,640
Entonces está ordenando ahora se podría mejorar un poco más utilizando generic de Yaba.

138
00:09:03,730 --> 00:09:05,380
Después también lo vamos a ver más en detalle.

139
00:09:05,470 --> 00:09:08,890
Por ahora lo vamos a usar, por ejemplo, en automóvil.

140
00:09:10,240 --> 00:09:19,180
Vamos a subir y acá en comparable justamente usar el menor y mayor, menor y mayor, y acá colocamos

141
00:09:19,300 --> 00:09:27,820
automóvil, el mismo tipo que queremos ordenar bien marca un error y está bien, perfecto, porque bajamos.

142
00:09:28,840 --> 00:09:31,950
Y acá colocamos automóvil en vez de objeto.

143
00:09:35,380 --> 00:09:36,340
Y esto le quitamos.

144
00:09:39,750 --> 00:09:42,030
Y en vez de o le voy a colocar a?

145
00:09:43,120 --> 00:09:44,590
Se fijan que mucho mejor.

146
00:09:44,680 --> 00:09:50,530
No es necesario tener que hacer caso, entonces es colocar comparable menor y mayor y el tipo de auto

147
00:09:50,620 --> 00:09:51,230
automóvil.

148
00:09:52,700 --> 00:09:55,310
Automáticamente en el comparable.

149
00:09:55,370 --> 00:10:01,040
Acá se va asignar este tipo de que por defecto genérico, ya que cualquier objeto se podría ordenar,

150
00:10:01,130 --> 00:10:02,450
pero en este caso automóvil.

151
00:10:02,540 --> 00:10:05,960
Por eso indicamos el generic o al generic, pero después vamos a ver más en detalle.

152
00:10:05,990 --> 00:10:08,120
Por ahora sería de esta forma.

153
00:10:08,240 --> 00:10:10,400
Ahora en términos de funcionalidad.

154
00:10:11,550 --> 00:10:14,520
Ningún cambio funciona exactamente igual como estaba antes.

155
00:10:15,960 --> 00:10:18,600
Solamente cambia el código para que sea más legible.

156
00:10:18,720 --> 00:10:20,880
Nada más, y así omitimos el caso.

157
00:10:23,600 --> 00:10:29,270
Bien, acá dice un warning porque nos dice que podríamos usar el for o el foreach, por ejemplo, acá

158
00:10:29,750 --> 00:10:35,960
si hago un click me convierto en forillo y queda mejor también usando un foret automóvil, se fijan?

159
00:10:39,810 --> 00:10:40,710
Y lo dejamos de esa forma.

160
00:10:41,250 --> 00:10:45,300
Ahora, si quiere ordenar, por ejemplo, volvemos, nos vamos a automóvil.

161
00:10:46,160 --> 00:10:46,840
Por modelo.

162
00:10:50,160 --> 00:10:51,780
Cambiamos de fabricante, modelo.

163
00:10:53,560 --> 00:11:02,940
Si hacemos un short por modelo, ahora el que importa el modelo bueno, a BT se fijan A, B y NB.

164
00:11:03,930 --> 00:11:05,040
Entonces ordena por modelo.

165
00:11:05,550 --> 00:11:08,460
Ahora, si quisiera ordenar por persona o conductor.

166
00:11:09,720 --> 00:11:13,680
Bueno, acá sería conductor, se fijan.

167
00:11:13,800 --> 00:11:14,190
Punto.

168
00:11:14,220 --> 00:11:14,820
Tú Strength.

169
00:11:16,980 --> 00:11:18,890
Llega Cómpranos con conductor también.

170
00:11:20,910 --> 00:11:21,410
Punto.

171
00:11:21,510 --> 00:11:22,140
Tus strength.

172
00:11:25,280 --> 00:11:33,180
Llega a ordenar por nombre de conductor, por ejemplo, Nissa nadará, lo tenemos por acá, es bhau.

173
00:11:33,320 --> 00:11:35,960
Después tenemos Audi, que es Sejano.

174
00:11:36,080 --> 00:11:38,930
Después tenemos Suzuki, que es Lalo.

175
00:11:39,350 --> 00:11:40,460
Después tenemos zapato.

176
00:11:40,550 --> 00:11:42,530
No, perdón, tenemos a Lucy.

177
00:11:42,590 --> 00:11:44,090
Y después Zapato se fija.

178
00:11:44,840 --> 00:11:47,930
Hoy ordena por nombre y apellido del conductor.

179
00:11:48,590 --> 00:11:54,220
Pero bien, lo voy a dejar con fabricante control Z fabricante.

180
00:11:54,890 --> 00:11:55,390
Nada más.

181
00:11:55,400 --> 00:11:57,430
Continuamos en la siguiente clase.
