Metoda Java sort ()

În Java, cadrul colecțiilor oferă o metodă statică sort () care poate fi utilizată pentru sortarea elementelor dintr-o colecție.

sort()Metoda cadrului colecțiilor folosește algoritmul de îmbinare de sortare pentru a sorta elementele unei colecții.

Algoritmul de sortare a îmbinării se bazează pe regula divizării și cuceririi. Pentru a afla mai multe despre sortarea îmbinării, accesați Algoritmul de sortare Merge.

Să luăm un exemplu al sort()metodei.

Exemplu: Sortare în ordine crescătoare

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

Ieșire

 ArrayList Unsorted: (4, 2, 3) ArrayList sortat: (2, 3, 4) 

După cum puteți vedea, în mod implicit, sortarea are loc în ordine naturală (ordine crescătoare). Cu toate acestea, putem personaliza ordinea de sortare a sort()metodei.

Comandă de sortare personalizată

În Java, sort()metoda poate fi personalizată pentru a efectua sortarea în ordine inversă folosind Comparatorinterfața.

Exemplu: Sortare în ordine descrescătoare

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

Ieșire

 ArrayList Unsorted: (4, 2, 3) Sortare naturală: (2, 3, 4) Sortare personalizată: (4, 3, 2) 

În exemplul de mai sus, am folosit sort()metoda cu CustomComparator ca argument.

Aici, CustomComparator este o clasă care implementează Comparatorinterfața. Aflați mai multe despre interfața Java Comparator.

Apoi, anulăm compare()metoda. Metoda va sorta acum elementele în ordine inversă.

Articole interesante...