Continuemos.
Qué pasa si quiero ordenar ahora un arreglo de enteros, porque acá tenemos un arreglo de Trenc, por
ejemplo.
Ejemplo arreglos acá.
Pero acá tenemos arreglo y lo quiero ordenar.
Lo voy a copiar, voy a cerrar.
De hecho, voy a hacer todo menos burbuja.
Cerramos todo, dejamos solamente burbuja.
Perfecto.
Quiero ordenar este arreglo.
Vamos a pegar por acá.
Acá al final lo quiero ordenar.
Bueno, tendré que copiar y pegar una y otra vez.
Este algoritmo, este código y tendré que empezar a modificar.
Se fijan entonces?
Bueno, sería muy útil por llevar este algoritmo a una clase o un método.
Bueno, todavía no entremos bien lo que quieres, el detalle de crear clases, así que eso lo para después.
Pero por lo menos podríamos adelantar entre comillas algo implementando un método, bien al copiar y
pegar.
Obviamente está trabajando con productos con el arreglo de streeck acá arriba.
Entonces lo tendríamos que modificar con números.
Entonces acá donde diga productos, colocan números.
Números, números, números acá.
Se fijan y por supuesto el total sería números.
Punto Link y acá también.
Números.
Punto Lek.
En el otro foro, porque no es el total del otro reloj del distrito, sino el link de números, que
sería cuatro y es un arreglo de enteros.
Por lo tanto, acá el auxiliar del tipo INT perfecto lo estamos solucionando.
Pero no es que sea un error.
El comparto es un primitivo, no es un objeto.
Por lo tanto, como es primitivo, no tiene el método.
Comparto, ya tenemos un problema, pero no importa, se puede solucionar.
Se puede hacer un caset, lo podemos forzar o convertir a un tipo comparable, o bien hacer un cast
a la clase Antilles de forma automática.
Se hacer un boxing de forma automática, un auto boxing aún integer del tipo de referencia o bien otras
soluciones acá integradas.
Es decir, son varias soluciones integer del tipo de referencia y listo.
Lo tenemos solucionado?
Claro, porque ahora del tipo de referencia, del tipo de objeto.
Pero bueno, lo quiero dejar como primitivo, no como entero de referencia.
Entonces, bueno, acabo de hacer un casting en el fondo, en la invocación de este método, en este
objeto.
Este objeto de acá esta instancia la tenía que castigar a un tipo de interés.
Entonces colocamos parentesis acá porque invocando un método voy a separar del paréntesis de LIF para
que quede más claro.
Entre paréntesis porque invoca un método y dentro de este paréntesis otro paréntesis y cerramos hacemos
el cast in their.
Si se fijan, entonces está capeando, está convirtiendo este entero primitivo a un tipo en teller de
referencia para invocar el método compar tú ya está perfecto.
Bueno, hay órdenes, pero tengo que imprimir.
Entonces por acá vamos a imprimir con otro formato.
De hecho, bueno, lo tengo acá o lo podríamos?
Bueno, lo vamos a implementar por acá un Ford que partan cero con el total de números es largo.
Acá tenemos número punto Lenka que es 4 final.
Vamos a imprimir Zogby por acá, números, corchete y el valor.
Debía estar ordenado.
Menos 1 7, 10 35 perfecto lo ordena bien, se fijan, está funcionando.
De hecho, para que quede mejor todavía.
En vez de integer puede quedar de un tipo más genérico comparable, porque de hecho, contra el CETA
el Integer, al igual que las Drink, implementa comparable.
Por lo tanto, también es tipo de comparable.
Es decir, cualquier objeto que clase que implemente la interfaz comparable es tiposde comparable.
Y por supuesto que Integer, igual que el Street y cualquier clase que implemente esta interfaz, tiene
el método de la interfaz, el contrato con su control.
Click acá tenemos.
Comparto.
Entonces se puede comparar?
Los intis se pueden ordenar entonces como intuya también implementa.
Compare tu comparable de interfaz comparable.
El tipo lo Equital solamente comparable, nada más.
Entonces también es tipo de compararle genérico.
Iba a funcionar tal cual menos unos 7 10:35.
Claro, se fijan entonces estamos haciendo un cast al entero primitivo, hacemos un cast comparable
y eso gracias a que de forma dinámica y por debajo se hace un auto boxing, se convierte a un entero
intuya y el inti también es tipo de comprables.
Entonces se pueden comparar estos enteros y funciona.
Ahora bien, como explicaba principio, estoy repitiendo mucho el algoritmo aca y acá.
Entonces bueno, lo voy a quitar, voy a quitar este, lo voy a eliminar el contador, también lo de
quitar el contador y todo esto, de hecho después lo voy a mover.
Así que lo dejo acá.
Pero esto lo de cortar este foro.
Los números para ordenar lo voy a cortar y lo voy a llevar a un método más arriba muy parecido, un
método estático parecido a lo inverso por acá, Public Static Bay
tiene que ser un método estático de que lo vamos a utilizar en un contexto estático dentro del main.
Después vamos a ver todos los detalles diferencia entre un método estático, un método de la clase versus
un método común y corriente que es la instancia del objeto.
Si fuese el objeto, tendríamos que crear la instancia de esta clase, pero después lo vemos por ahora.
Short burbuja o el nombre que queramos y que recibe un arreglo de qué tipo no puede ser string, tampoco
puede ser Integer y de ningún tipo específico, porque la idea de que lo podemos reutilizar tanto para
String, para integer, bueno, tiene que ser un tipo genérico object del tipo más genérico.
Un arreglo de objetos.
Eso vamos a ordenar.
Arreglo.
Como se pasa por referencia inmutable, no retorna nada, simplemente modifica el arreglo.
Voy a pegar lo que cortamos.
Y cambiamos números por arreglo.
Qué tiene Contador?
Se fijan entonces como tiene Contador?
Voy a cortar esto acá y también voy a copiar el total.
Esto lo voy a copiar.
El total no lo puedo cortar porque lo utilizamos acá.
Pero necesito el total, aunque lo tenemos acá igual.
Igualmente arreglo, apuntó Lenka.
Pero bueno, lo voy a dejar acá.
La cacería arreglo y ocupamos total en vez de esto.
Qué faltaría tema Contador, faltaría imprimir, el contador ya lo pudo quitar de acá, el total lo
dejamos importante.
Este chiste apuntó.
Punto print lo cortamos, lo cortamos y lo vamos a llevar acá.
Lo imprimimos después, al final, después del foro, al final del metro.
Qué falta?
Un detalle faltaría.
Acá acatamos asignando el tipo integer y no el tipo objeto genérico.
Un arreglo de objetos del tipo más genérico, objeto y listo.
Ordenamos y hoy lo tenemos.
Nuestro short burbuja y lo podemos reutilizar entonces ahora para obtener cualquier arreglo.
Acá lo de quitar.
También ya no lo están ocupando.
Entonces ahora quiero ordenar este arreglo.
Simplemente sohr burbuja y pasamos productos.
Vamos a probar.
Ejecutamos.
Ordena a BCD perfecto, ordenó productos, obviamente números.
Todavía no está ordenado.
Pero igual acá lo tenemos, suerte, burbuja, pasamos números, pero en este caso números, el tipo
entero primitivo, por lo tanto espera recibir una instancia, un objeto del tipo objeto y en este caso
vamos a tener problema de que es un arreglo de enteros.
No es del tipo objeto, pero tenemos dos soluciones.
Si lo queremos ordenar con este método para que se pueda utilizar, cambiamos acá al tipo.
Eso sería una forma del tipo intuya y lo podemos ordenar.
Yo creo que la más simple, lo otro, si queremos mantener el tipo primitivo, tendríamos que implementar
otro método con sobrecarga.
Después vamos a ver sobrecarga de método.
Por ahora.
Lo más simple es que sea del tipo intuyes del tipo reference.
Jamás así se podrá utilizar.
Bueno, y también vemos ahí la ventaja de utilizar tipos de instancia de la clase, este Tiller versus
primitivo da mayor flexibilidad y características extra como que se puedan comparar con el compartido
y poder reutilizar estos métodos sin tener que implementar sobrecargue de método y también podemos ordenar
tanto descendente como ascendente.
Acá está en orden ascendente, de menor a mayor, pero podría ser a la inversa.
Y cuál sería el cambio?
Habría que modificar el zor burbuja.
Acá simplemente acá cambiamos el signo.
En vez de que sea menor, lo cambiamos a mayor, mayor que cero.
Y eso es todo.
Entonces ahora si ejecutamos.
Se ordena al revés, de forma descendente, de arriba hacia abajo.
Llega también 35 17 y se fija con un pequeño switch y nuestro código queda mucho más limpio y reutilizable.
Continuamos la siguiente clase.