1
00:00:00,180 --> 00:00:00,840
Continuemos.

2
00:00:00,870 --> 00:00:05,760
Qué pasa si quiero ordenar ahora un arreglo de enteros, porque acá tenemos un arreglo de Trenc, por

3
00:00:05,760 --> 00:00:06,540
ejemplo.

4
00:00:06,630 --> 00:00:08,250
Ejemplo arreglos acá.

5
00:00:09,680 --> 00:00:13,350
Pero acá tenemos arreglo y lo quiero ordenar.

6
00:00:13,470 --> 00:00:15,420
Lo voy a copiar, voy a cerrar.

7
00:00:15,750 --> 00:00:17,940
De hecho, voy a hacer todo menos burbuja.

8
00:00:19,210 --> 00:00:21,510
Cerramos todo, dejamos solamente burbuja.

9
00:00:21,900 --> 00:00:22,210
Perfecto.

10
00:00:22,270 --> 00:00:23,200
Quiero ordenar este arreglo.

11
00:00:23,740 --> 00:00:24,710
Vamos a pegar por acá.

12
00:00:24,920 --> 00:00:27,130
Acá al final lo quiero ordenar.

13
00:00:27,230 --> 00:00:29,830
Bueno, tendré que copiar y pegar una y otra vez.

14
00:00:30,310 --> 00:00:33,610
Este algoritmo, este código y tendré que empezar a modificar.

15
00:00:33,640 --> 00:00:35,170
Se fijan entonces?

16
00:00:35,170 --> 00:00:40,000
Bueno, sería muy útil por llevar este algoritmo a una clase o un método.

17
00:00:40,120 --> 00:00:45,020
Bueno, todavía no entremos bien lo que quieres, el detalle de crear clases, así que eso lo para después.

18
00:00:45,100 --> 00:00:50,470
Pero por lo menos podríamos adelantar entre comillas algo implementando un método, bien al copiar y

19
00:00:50,470 --> 00:00:50,980
pegar.

20
00:00:51,100 --> 00:00:55,240
Obviamente está trabajando con productos con el arreglo de streeck acá arriba.

21
00:00:56,210 --> 00:00:58,430
Entonces lo tendríamos que modificar con números.

22
00:00:59,000 --> 00:01:02,440
Entonces acá donde diga productos, colocan números.

23
00:01:03,450 --> 00:01:06,840
Números, números, números acá.

24
00:01:08,230 --> 00:01:12,610
Se fijan y por supuesto el total sería números.

25
00:01:13,650 --> 00:01:16,120
Punto Link y acá también.

26
00:01:16,240 --> 00:01:16,840
Números.

27
00:01:16,870 --> 00:01:17,460
Punto Lek.

28
00:01:17,620 --> 00:01:24,370
En el otro foro, porque no es el total del otro reloj del distrito, sino el link de números, que

29
00:01:24,370 --> 00:01:27,220
sería cuatro y es un arreglo de enteros.

30
00:01:27,280 --> 00:01:32,770
Por lo tanto, acá el auxiliar del tipo INT perfecto lo estamos solucionando.

31
00:01:32,830 --> 00:01:34,360
Pero no es que sea un error.

32
00:01:34,450 --> 00:01:37,590
El comparto es un primitivo, no es un objeto.

33
00:01:37,600 --> 00:01:40,860
Por lo tanto, como es primitivo, no tiene el método.

34
00:01:40,870 --> 00:01:44,450
Comparto, ya tenemos un problema, pero no importa, se puede solucionar.

35
00:01:44,470 --> 00:01:51,200
Se puede hacer un caset, lo podemos forzar o convertir a un tipo comparable, o bien hacer un cast

36
00:01:51,250 --> 00:01:52,990
a la clase Antilles de forma automática.

37
00:01:52,990 --> 00:02:00,730
Se hacer un boxing de forma automática, un auto boxing aún integer del tipo de referencia o bien otras

38
00:02:00,730 --> 00:02:02,670
soluciones acá integradas.

39
00:02:03,160 --> 00:02:09,010
Es decir, son varias soluciones integer del tipo de referencia y listo.

40
00:02:09,130 --> 00:02:10,000
Lo tenemos solucionado?

41
00:02:10,900 --> 00:02:13,960
Claro, porque ahora del tipo de referencia, del tipo de objeto.

42
00:02:14,680 --> 00:02:18,940
Pero bueno, lo quiero dejar como primitivo, no como entero de referencia.

43
00:02:19,210 --> 00:02:23,910
Entonces, bueno, acabo de hacer un casting en el fondo, en la invocación de este método, en este

44
00:02:23,920 --> 00:02:24,460
objeto.

45
00:02:24,760 --> 00:02:29,250
Este objeto de acá esta instancia la tenía que castigar a un tipo de interés.

46
00:02:29,650 --> 00:02:36,070
Entonces colocamos parentesis acá porque invocando un método voy a separar del paréntesis de LIF para

47
00:02:36,070 --> 00:02:37,000
que quede más claro.

48
00:02:38,610 --> 00:02:44,610
Entre paréntesis porque invoca un método y dentro de este paréntesis otro paréntesis y cerramos hacemos

49
00:02:44,610 --> 00:02:46,590
el cast in their.

50
00:02:48,020 --> 00:02:54,310
Si se fijan, entonces está capeando, está convirtiendo este entero primitivo a un tipo en teller de

51
00:02:54,310 --> 00:02:58,780
referencia para invocar el método compar tú ya está perfecto.

52
00:02:58,970 --> 00:03:00,910
Bueno, hay órdenes, pero tengo que imprimir.

53
00:03:01,330 --> 00:03:04,270
Entonces por acá vamos a imprimir con otro formato.

54
00:03:04,810 --> 00:03:08,110
De hecho, bueno, lo tengo acá o lo podríamos?

55
00:03:09,220 --> 00:03:20,870
Bueno, lo vamos a implementar por acá un Ford que partan cero con el total de números es largo.

56
00:03:20,960 --> 00:03:23,300
Acá tenemos número punto Lenka que es 4 final.

57
00:03:27,790 --> 00:03:34,030
Vamos a imprimir Zogby por acá, números, corchete y el valor.

58
00:03:40,270 --> 00:03:41,470
Debía estar ordenado.

59
00:03:43,320 --> 00:03:47,970
Menos 1 7, 10 35 perfecto lo ordena bien, se fijan, está funcionando.

60
00:03:48,120 --> 00:03:49,900
De hecho, para que quede mejor todavía.

61
00:03:50,010 --> 00:03:56,160
En vez de integer puede quedar de un tipo más genérico comparable, porque de hecho, contra el CETA

62
00:03:56,250 --> 00:04:00,450
el Integer, al igual que las Drink, implementa comparable.

63
00:04:00,630 --> 00:04:02,550
Por lo tanto, también es tipo de comparable.

64
00:04:02,760 --> 00:04:08,610
Es decir, cualquier objeto que clase que implemente la interfaz comparable es tiposde comparable.

65
00:04:08,820 --> 00:04:13,900
Y por supuesto que Integer, igual que el Street y cualquier clase que implemente esta interfaz, tiene

66
00:04:13,910 --> 00:04:18,020
el método de la interfaz, el contrato con su control.

67
00:04:18,030 --> 00:04:19,090
Click acá tenemos.

68
00:04:19,170 --> 00:04:19,880
Comparto.

69
00:04:20,080 --> 00:04:22,110
Entonces se puede comparar?

70
00:04:22,230 --> 00:04:27,650
Los intis se pueden ordenar entonces como intuya también implementa.

71
00:04:27,750 --> 00:04:30,630
Compare tu comparable de interfaz comparable.

72
00:04:32,580 --> 00:04:35,690
El tipo lo Equital solamente comparable, nada más.

73
00:04:35,970 --> 00:04:38,950
Entonces también es tipo de compararle genérico.

74
00:04:41,190 --> 00:04:44,400
Iba a funcionar tal cual menos unos 7 10:35.

75
00:04:45,050 --> 00:04:50,750
Claro, se fijan entonces estamos haciendo un cast al entero primitivo, hacemos un cast comparable

76
00:04:50,870 --> 00:04:57,950
y eso gracias a que de forma dinámica y por debajo se hace un auto boxing, se convierte a un entero

77
00:04:58,080 --> 00:05:01,060
intuya y el inti también es tipo de comprables.

78
00:05:01,070 --> 00:05:04,130
Entonces se pueden comparar estos enteros y funciona.

79
00:05:04,280 --> 00:05:10,790
Ahora bien, como explicaba principio, estoy repitiendo mucho el algoritmo aca y acá.

80
00:05:12,880 --> 00:05:18,550
Entonces bueno, lo voy a quitar, voy a quitar este, lo voy a eliminar el contador, también lo de

81
00:05:18,550 --> 00:05:21,820
quitar el contador y todo esto, de hecho después lo voy a mover.

82
00:05:21,880 --> 00:05:22,900
Así que lo dejo acá.

83
00:05:23,560 --> 00:05:25,150
Pero esto lo de cortar este foro.

84
00:05:26,250 --> 00:05:32,490
Los números para ordenar lo voy a cortar y lo voy a llevar a un método más arriba muy parecido, un

85
00:05:32,490 --> 00:05:37,890
método estático parecido a lo inverso por acá, Public Static Bay

86
00:05:41,170 --> 00:05:46,650
tiene que ser un método estático de que lo vamos a utilizar en un contexto estático dentro del main.

87
00:05:46,920 --> 00:05:52,380
Después vamos a ver todos los detalles diferencia entre un método estático, un método de la clase versus

88
00:05:52,380 --> 00:05:54,930
un método común y corriente que es la instancia del objeto.

89
00:05:55,050 --> 00:06:00,510
Si fuese el objeto, tendríamos que crear la instancia de esta clase, pero después lo vemos por ahora.

90
00:06:00,990 --> 00:06:09,750
Short burbuja o el nombre que queramos y que recibe un arreglo de qué tipo no puede ser string, tampoco

91
00:06:09,750 --> 00:06:15,380
puede ser Integer y de ningún tipo específico, porque la idea de que lo podemos reutilizar tanto para

92
00:06:15,400 --> 00:06:20,970
String, para integer, bueno, tiene que ser un tipo genérico object del tipo más genérico.

93
00:06:21,400 --> 00:06:22,440
Un arreglo de objetos.

94
00:06:22,560 --> 00:06:23,520
Eso vamos a ordenar.

95
00:06:25,230 --> 00:06:25,680
Arreglo.

96
00:06:28,540 --> 00:06:34,010
Como se pasa por referencia inmutable, no retorna nada, simplemente modifica el arreglo.

97
00:06:34,190 --> 00:06:35,920
Voy a pegar lo que cortamos.

98
00:06:36,820 --> 00:06:39,040
Y cambiamos números por arreglo.

99
00:06:47,030 --> 00:06:47,890
Qué tiene Contador?

100
00:06:47,900 --> 00:06:50,660
Se fijan entonces como tiene Contador?

101
00:06:51,800 --> 00:06:55,760
Voy a cortar esto acá y también voy a copiar el total.

102
00:06:55,930 --> 00:06:56,940
Esto lo voy a copiar.

103
00:06:57,170 --> 00:07:00,860
El total no lo puedo cortar porque lo utilizamos acá.

104
00:07:03,300 --> 00:07:07,120
Pero necesito el total, aunque lo tenemos acá igual.

105
00:07:07,290 --> 00:07:09,030
Igualmente arreglo, apuntó Lenka.

106
00:07:09,120 --> 00:07:10,980
Pero bueno, lo voy a dejar acá.

107
00:07:11,660 --> 00:07:15,930
La cacería arreglo y ocupamos total en vez de esto.

108
00:07:19,030 --> 00:07:26,650
Qué faltaría tema Contador, faltaría imprimir, el contador ya lo pudo quitar de acá, el total lo

109
00:07:26,650 --> 00:07:28,040
dejamos importante.

110
00:07:28,180 --> 00:07:29,330
Este chiste apuntó.

111
00:07:29,360 --> 00:07:33,870
Punto print lo cortamos, lo cortamos y lo vamos a llevar acá.

112
00:07:35,370 --> 00:07:40,070
Lo imprimimos después, al final, después del foro, al final del metro.

113
00:07:41,420 --> 00:07:42,030
Qué falta?

114
00:07:42,120 --> 00:07:43,680
Un detalle faltaría.

115
00:07:43,730 --> 00:07:49,230
Acá acatamos asignando el tipo integer y no el tipo objeto genérico.

116
00:07:50,840 --> 00:07:55,590
Un arreglo de objetos del tipo más genérico, objeto y listo.

117
00:07:57,020 --> 00:07:59,060
Ordenamos y hoy lo tenemos.

118
00:08:00,100 --> 00:08:06,850
Nuestro short burbuja y lo podemos reutilizar entonces ahora para obtener cualquier arreglo.

119
00:08:07,780 --> 00:08:08,710
Acá lo de quitar.

120
00:08:10,180 --> 00:08:11,680
También ya no lo están ocupando.

121
00:08:12,450 --> 00:08:14,110
Entonces ahora quiero ordenar este arreglo.

122
00:08:14,200 --> 00:08:18,100
Simplemente sohr burbuja y pasamos productos.

123
00:08:20,030 --> 00:08:20,720
Vamos a probar.

124
00:08:22,330 --> 00:08:23,140
Ejecutamos.

125
00:08:25,790 --> 00:08:30,980
Ordena a BCD perfecto, ordenó productos, obviamente números.

126
00:08:31,070 --> 00:08:32,300
Todavía no está ordenado.

127
00:08:33,230 --> 00:08:42,470
Pero igual acá lo tenemos, suerte, burbuja, pasamos números, pero en este caso números, el tipo

128
00:08:42,470 --> 00:08:50,810
entero primitivo, por lo tanto espera recibir una instancia, un objeto del tipo objeto y en este caso

129
00:08:50,990 --> 00:08:54,260
vamos a tener problema de que es un arreglo de enteros.

130
00:08:54,350 --> 00:08:57,560
No es del tipo objeto, pero tenemos dos soluciones.

131
00:08:57,710 --> 00:09:02,450
Si lo queremos ordenar con este método para que se pueda utilizar, cambiamos acá al tipo.

132
00:09:06,610 --> 00:09:10,320
Eso sería una forma del tipo intuya y lo podemos ordenar.

133
00:09:16,030 --> 00:09:21,370
Yo creo que la más simple, lo otro, si queremos mantener el tipo primitivo, tendríamos que implementar

134
00:09:21,430 --> 00:09:23,050
otro método con sobrecarga.

135
00:09:23,320 --> 00:09:25,200
Después vamos a ver sobrecarga de método.

136
00:09:25,480 --> 00:09:26,170
Por ahora.

137
00:09:27,210 --> 00:09:31,260
Lo más simple es que sea del tipo intuyes del tipo reference.

138
00:09:34,020 --> 00:09:35,600
Jamás así se podrá utilizar.

139
00:09:35,930 --> 00:09:43,640
Bueno, y también vemos ahí la ventaja de utilizar tipos de instancia de la clase, este Tiller versus

140
00:09:43,640 --> 00:09:49,640
primitivo da mayor flexibilidad y características extra como que se puedan comparar con el compartido

141
00:09:49,910 --> 00:09:54,740
y poder reutilizar estos métodos sin tener que implementar sobrecargue de método y también podemos ordenar

142
00:09:54,740 --> 00:09:57,530
tanto descendente como ascendente.

143
00:09:58,310 --> 00:10:04,770
Acá está en orden ascendente, de menor a mayor, pero podría ser a la inversa.

144
00:10:05,290 --> 00:10:06,320
Y cuál sería el cambio?

145
00:10:06,620 --> 00:10:08,840
Habría que modificar el zor burbuja.

146
00:10:09,770 --> 00:10:12,410
Acá simplemente acá cambiamos el signo.

147
00:10:12,650 --> 00:10:17,210
En vez de que sea menor, lo cambiamos a mayor, mayor que cero.

148
00:10:17,590 --> 00:10:18,220
Y eso es todo.

149
00:10:19,330 --> 00:10:22,370
Entonces ahora si ejecutamos.

150
00:10:23,490 --> 00:10:28,620
Se ordena al revés, de forma descendente, de arriba hacia abajo.

151
00:10:28,980 --> 00:10:37,140
Llega también 35 17 y se fija con un pequeño switch y nuestro código queda mucho más limpio y reutilizable.

152
00:10:37,860 --> 00:10:39,690
Continuamos la siguiente clase.
