Bienvenidos.
Continuemos.
Veamos ahora cómo ordenar un ArrayList.
Ya hemos visto ejemplo, pero la idea de esta clase profundizar un poco más y presentarlo de forma formal
y también ver una característica de lleva 8 con COMPARÁIS.
Bueno, vamos a ver más en detalle, pero bien, vamos a trabajar, vamos a ocupar esta misma clase
para no tener que escribir esto nuevo y en vez de usar un set usamos una lista, entonces la copiamos,
la pegamos unicidad, buscamos ejemplo jazz set unicidad está acá, la copiamos Control C y en Set Paquete
Set Control B la pegamos la re nombramos entonces ejemplo list solamente lo hace para el array list,
pero se aplica exactamente igual en el liquen list en cualquier implementación de lista comparable con
Pareto.
Porque vamos a ver el lado forma comparable con interfaz y con parato para personalizar más y sobrescribir
el compartid del objeto, en este caso alumno que implementa la interfaz comprable.
Ok.
Este aca lo cerramos, aca dejamos solamente esta clase nueva.
Bien, entonces comentamos.
Importa, Molist?
ArrayList.
O puede ser Linke listo total e transparente para cualquiera importábamos perfecto.
Bien podremos quitarlos y tiradores dejamos solamente hasta acá el último.
Esto lo quitamos.
Bien por defecto, sino ordenamos, ya sabemos.
Se listan según el orden en que se agregan.
Entonces levantamos.
Y acá tenemos primero Pato, Cata, Lucy, Pato, CATALURA, hija, no se fija y los repetidos se toman
en cuenta.
Es decir, podemos tener objeto repetido con los mismos valores.
Acá no es como los Zet.
Entonces, básicamente tenemos todos los alumnos repetidos y los que no..
Bien, pero vamos a ordenar entonces para ordenar por acá diferente forma usando la clase Halpert o
de utilidad Collections con S en plural Collections.
Es distinto que la interfaz.
Esto es una clase.
Por eso en plural collections.
Punto.
El método short.
Y pasamos por argumento la lista.
En este caso está bien por defecto.
Si ordenamos con short collection punto short se aplica el ordenamiento que tenemos acá en el compartir.
Entonces sería por la nota.
Vamos a ver.
Por la nota de menor a mayor, es decir, en orden ascendente.
Es por lo que tenemos acá.
Si comentamos esto.
Y comentamos este acá.
Veamos ahora ordena por nombre.
Del ala Z le dan tres katha hasta Zeos.
Ahora bien, qué pasa si quiero sobrescribir este comportamiento?
Ya tengo que utilizar una implementación de comparador, tal como lo vimos en el ejemplo por acá Trichet
comprable, doble click.
Algo parecido a esto.
Pero bueno, en el Trichet es en el constructor.
Acá no, acá sería en el método Short.
De hecho, el short.
Si se fijan, voy autocompletar.
Tiene sobrecarga.
Acá un list@ y podemos pasar con Paretta.
Entonces acá podríamos implementar un comparador.
Pasando la lista.
Bueno, ya sabemos de la forma funcional Acoma B por acá la fecha y comparamos algo que vimos.
Por ejemplo a punto.
Quiero ordenar por nombre, por nota, ya por nombre.
Estamos ordenando en el comparable acá en alumno.
Entonces por nota Geet.
Nota punto.
Comparto.
De acá pasamos la nota de B.
B punto guet nota.
Ejecutamos y ahora se nota por qué los orquideas 2 2 hasta la nota 7.
Ahora ya no es por nombre, a pesar de que acá lo tenemos por nombre.
Y si cree que sea al revés, descendente.
Perdón.
Acá.
Voy a cerrar acá para no confundirme.
Voy a cerrar acá, tengo solamente este sería acá al revés B.
Y acá A.
A ese ese día de la nota 7 hacia abajo, 7 6, 5 hasta abajo, bien, pero acá me dice una advertencia
omá, qué advertencia con una recomendación, un tips, claro, en vez de utilizar esta forma es mucho
mejor utilizar el método Short que tiene la lista y acá nos dice reemplazar con list puntos orto.
Entonces, cómo sería en vez de utilizar colectaron, simplemente utilizamos.
Bueno, voy a comentar esto para que lo tengan.
ESEA puntos orto y el método short de la lista.
En este caso podemos implementar con paratha.
Eso también lo vimos en el ejemplo del repositorio cuando ordenamos por los campos, se acuerdan?
Entonces bueno, acá puedo tener esto acá.
Entonces lo copiamos, lo pegamos y listo.
Otra forma a través de la lista, el método Sorta.
Diferentes caminos para llegar a Roma.
Acá a?
V.
Al revés.
Bien, esto sería la forma manual que ya hemos visto.
Pero hay una forma utilizando lleva 8 a través de la interfaz comparador y el método con parry o comparando
que mucho más fácil.
De hecho, esto lo de comentar para que tengan esta otra forma utilizando lleva 8 la lista punto sort
y acá compare Heitor punto con Parri comparando.
Y acá una presión linda que tiene que tener la siguiente forma primero.
Bueno, el tipo de dato alumno y la variable.
Luego acá eso sería el argumento importante, el tipo, porque según el tipo acá ordenamos según el
atributo.
Por ejemplo, a punto.
Bueno, quiero ordenar por nota, por nombre.
Acá selecciono por qué atributo quiero ordenar.
En la clase lumna por defecto está por nombre.
Entonces voy a colocar nota.
Listo, voy a ejecutar, iba a ser igual o muy parecida de dos hasta siete.
Ahora quiero un nombre por nombre.
De la A a la Z y ahora sí le quiero al revés, porque por defecto, de esta forma utilizando con es
ascendente.
Pero si le quiero a la inversa, bueno, le invoco el método reverso acá.
Entonces, al compartir punto Reverse.
Y lo hace a la inversa.
Entonces lo hace por nombre.
Pero comenzando Z.
Deseais hasta la entonces es muy fácil ordenar, es muy automatizado o por nota, pero al revés.
Entonces hacer de la nota 7 hacia abajo.
Nota 7 6 5 hasta llegar a 2, pero bien, esto se puede utilizar mucho más todavía utilizando la nomenclatura
método de referencia.
Es decir, podemos cambiar todo esto.
Es todo acá con la flecha.
Con esto simplemente al tipo que se fijan.
Acá tengo el tipo y acá tengo el método.
Entonces puedo quitar esto, puedo quitar la a la instancia o más que quitar es como simplificar como
nomenclatura, porque al final se traduce esto mismo, pero para simplificar el código.
Entonces, fíjense bien, voy a dejar el tipo, los paréntesis, lo quito, voy a quitar la variable
T, paréntesis, la flecha y también el punto, el objeto, la variable.
Y también los paréntesis del método.
Entonces simplemente alumno 2.2.1 Guet nota.
Sí, lo tenemos.
Punto Reverse.
De 7 a 2.
Si quitamos el reverse.
De 2 a 7.
O por nombre.
De la A a la Z.
Andrés hasta Ãseos punto reverse.
Ahora sería descendente al revés.
De la Z a?
Muy simple.
Esa serie, la forma como explicaba lo mismo ArrayList o Linked.
Exactamente lo mismo.
También ordena, según la regla de ordenamiento en que coloquemos en el comparar con Parri o de la forma
manual.
También son diferentes formas para lo mismo, pero cree que la más simple está acá?
Bueno, y por supuesto, esto mismo se aplica acá, en los Trichet.
Exactamente igual.
Si quiero escribir esto mismo, pero de la forma simplificada como método de referencia usando Java
8 con parato compare.
Lo voy a copiar, lo de pegar lo voy a comentar.
Esto es descendente.
Es al revés, porque B.
Comparado con A. Entonces la forma sería.
Compare con puntó comparen purín alumno 2 punto, punto, nota.
Acá al revés.
Punto Reverse.
Está la equivalencia.
Hay todo acá incluso, claro, podríamos simplificar más porque podríamos importar con Parets de forma
estática.
Vamos a colocar en el import de Compared Itor Static.
Punto.
El método.
Compare.
Esto lo quitamos ya tenemos compare y listo, lo tenemos importado y eso mismo acá también.
Entonces, en el import de Compared Itor?
Bueno, acá lo tenemos junto a tricos y que se auto importÃ con Pareto, pero import tactics
compared itor y el método compare.
Está bien.
Una característica importante a conocer de lleva 8 utilizando el prisionero Landau.
Programación funcional mediante la interfaz con paraditos.
Eso sería.
Continuamos en la siguiente clase.