Método Java sort ()

En Java, el marco de colecciones proporciona un método estático sort () que se puede utilizar para ordenar elementos en una colección.

El sort()método del marco de colecciones utiliza el algoritmo de clasificación por combinación para clasificar los elementos de una colección.

El algoritmo de clasificación por fusión se basa en la regla de divide y vence. Para obtener más información sobre la ordenación por combinación, visite Algoritmo de ordenación por combinación.

Tomemos un ejemplo del sort()método.

Ejemplo: clasificación en orden ascendente

 import java.util.ArrayList; import java.util.Collections; class Main ( public static void main(String() args) ( // Creating an array list ArrayList numbers = new ArrayList(); // Add elements numbers.add(4); numbers.add(2); numbers.add(3); System.out.println("Unsorted ArrayList: " + numbers); // Using the sort() method Collections.sort(numbers); System.out.println("Sorted ArrayList: " + numbers); ) ) 

Salida

 ArrayList sin clasificar: (4, 2, 3) ArrayList ordenado: (2, 3, 4) 

Como puede ver, de forma predeterminada, la clasificación se produce en orden natural (orden ascendente). Sin embargo, podemos personalizar el orden de clasificación del sort()método.

Orden de clasificación personalizado

En Java, el sort()método se puede personalizar para realizar la clasificación en orden inverso utilizando la Comparatorinterfaz.

Ejemplo: clasificación en orden descendente

 import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; class Main ( public static void main(String() args) ( // Creating an array list ArrayList numbers = new ArrayList(); // Add elements numbers.add(4); numbers.add(2); numbers.add(3); System.out.println("Unsorted ArrayList: " + numbers); // Using the sort() method Collections.sort(numbers); System.out.println("Natural Sorting: " + numbers); // Using the customized sort() method Collections.sort(numbers, new CustomComparator()); System.out.println("Customized Sorting: " + numbers); ) ) class CustomComparator implements Comparator ( @Override public int compare(Integer animal1, Integer animal2) ( int value = animal1.compareTo(animal2); // elements are sorted in reverse order if (value> 0) ( return -1; ) else if (value < 0) ( return 1; ) else ( return 0; ) ) ) 

Salida

 Lista de matrices sin clasificar: (4, 2, 3) Clasificación natural: (2, 3, 4) Clasificación personalizada: (4, 3, 2) 

En el ejemplo anterior, hemos utilizado el sort()método con CustomComparator como argumento.

Aquí, CustomComparator es una clase que implementa la Comparatorinterfaz. Obtenga más información sobre la interfaz de comparación de Java.

Luego anulamos el compare()método. El método ahora ordenará los elementos en orden inverso.

Articulos interesantes...