En Java, Colección es un marco que proporciona interfaces (Establecer, Lista, Cola, etc.) y clases (ArrayList, LinkedList, etc.) para almacenar el grupo de objetos. Estas clases almacenan datos de manera desordenada. A veces necesitamos organizar los datos de una manera ordenada que se conoce como clasificación. La clasificación se puede realizar de dos formas, ya sea en ascendente o descendente pedido.
En esta sección, aprenderemos cómo ordenar ArrayList en forma ascendente y orden descendiente.
Lista de arreglo
En Java, Lista de arreglo es una clase de marco de colecciones que se define en el java.util paquete. Hereda la clase AbstractList. Almacena dinámicamente los elementos. La ventaja de ArrayList es que no tiene límite de tamaño. Es más flexible que la matriz tradicional. Puede tener elementos duplicados. También podemos usar todos los métodos de la interfaz List porque implementa el Lista interfaz.
Podemos ordenar una ArrayList de dos formas, en orden ascendente y descendente. La clase Colecciones proporciona dos métodos para ordenar una ArrayList en Java.
Método Collections.sort ()
Una ArrayList se puede ordenar usando el clasificar() método de la clase Colecciones en Java. Acepta un objeto de ArrayList como parámetro para ordenar y devuelve una ArrayList ordenada en orden ascendente de acuerdo con el orden natural de sus elementos.
Sintaxis
Recordar: Todos los elementos de ArrayList deben ser mutuamente comparables; de lo contrario, arroja ClassCastException. Aquí, mutuamente comparable significa que la lista debe tener el mismo tipo de elementos. Por ejemplo, considere el fragmento del código:
En el ejemplo anterior, vemos que una lista tiene cuatro elementos, de los cuales tres elementos son de tipo String y uno es de tipo Integer. Los tres elementos que están en String son mutuamente comparables, pero el elemento que es de tipo Integer no es comparable con los otros tres. Por tanto, la lista debe tener el mismo tipo de elementos.
Método Collections.reverseOrder ()
Si queremos ordenar ArrayList en descendente orden, la clase Colecciones Java proporciona orden inverso() método. Nos permite ordenar ArrayList en lexicográfico inverso pedido.
Sintaxis
Devuelve un comparador que impone el orden inverso al natural en una colección de objetos que implementan la interfaz Comparable.
Recuerde que no invocamos directamente el método reverseOrder (). Lo usamos junto con el Collection.sort () método, como sigue.
Por lo tanto, la clasificación de ArrayList en orden descendente se realiza en dos pasos, primero ArrayList clasifica los datos en orden ascendente, después de que los datos ordenados se invierten por el orden inverso() método.
Creemos programas que clasifiquen ArrayList en orden ascendente.
Ordenar ArrayList en orden ascendente
En el siguiente ejemplo, creamos una ArrayList de tipo String y le agregamos algunos elementos. Después de eso, hemos invocado el método sort () de la clase Colecciones y pasado el objeto de la clase ArrayList, es decir, una lista que ordena los elementos en orden ascendente.
SortArrayListExample1.java
Producción:
Before Sorting: [Volkswagen, Toyota, Porsche, Ferrari, Mercedes-Benz, Audi, Rolls-Royce, BMW] After Sorting: [Audi, BMW, Ferrari, Mercedes-Benz, Porsche, Rolls-Royce, Toyota, Volkswagen]
Veamos otro ejemplo que ordena una ArrayList de tipo Integer.
SortArrayListExample2.java
Producción:
ArrayList Before Sorting: 55 34 98 67 39 76 81 ArrayList After Sorting: 34 39 55 67 76 81 98
Ordenar ArrayList en orden descendente
En el siguiente ejemplo, hemos creado una ArrayList de tipo String y le hemos agregado algunos elementos. Después de eso, hemos invocado el método reverseOrder () junto con el método sort () de la clase Collections y pasado el objeto de la clase ArrayList, es decir, una lista que ordena los elementos en orden descendente.
SortArrayListExample3.java
Producción:
Before Sorting: [Data Science, Testing, C#, Basic Language, UML, Algorithms, Computer Networks, Python] After Sorting: [UML, Testing, Python, Data Science, Computer Networks, C#, Basic Language, Algorithms]
SortArrayListExample4.java
Producción:
ArrayList Before Sorting: 566 230 123 110 689 12 95 ArrayList After Sorting: 689 566 230 123 110 95 12