Metodo Java sort ()

In Java, il framework delle raccolte fornisce un metodo statico sort () che può essere utilizzato per ordinare gli elementi in una raccolta.

Il sort()metodo del framework delle raccolte utilizza l'algoritmo di ordinamento di unione per ordinare gli elementi di una raccolta.

L'algoritmo di ordinamento di unione si basa sulla regola divide et impera. Per ulteriori informazioni sull'ordinamento di unione, visita Algoritmo di ordinamento di unione.

Facciamo un esempio del sort()metodo.

Esempio: ordinamento in ordine crescente

 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); ) ) 

Produzione

 Elenco array non ordinato: (4, 2, 3) Elenco array ordinato: (2, 3, 4) 

Come puoi vedere, per impostazione predefinita, l'ordinamento avviene in ordine naturale (ordine crescente). Tuttavia, possiamo personalizzare l'ordine di ordinamento del sort()metodo.

Ordinamento personalizzato

In Java, il sort()metodo può essere personalizzato per eseguire l'ordinamento in ordine inverso utilizzando l' Comparatorinterfaccia.

Esempio: ordinamento in ordine decrescente

 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; ) ) ) 

Produzione

 Elenco array non ordinato: (4, 2, 3) Ordinamento naturale: (2, 3, 4) Ordinamento personalizzato: (4, 3, 2) 

Nell'esempio precedente, abbiamo utilizzato il sort()metodo con CustomComparator come argomento.

In questo caso, CustomComparator è una classe che implementa l' Comparatorinterfaccia. Ulteriori informazioni sull'interfaccia Java Comparator.

Quindi sovrascriviamo il compare()metodo. Il metodo ora ordinerà gli elementi in ordine inverso.

Articoli interessanti...