Metoda Java sortiranja ()

U Javi okvir zbirki pruža statičku metodu sort () koja se može koristiti za sortiranje elemenata u zbirci.

sort()Metoda okviru zbirki koristi spajanje sort algoritam za sortiranje elemente zbirke.

Algoritam sortiranja spajanja temelji se na pravilu podijeli i osvoji. Da biste saznali više o sortiranju stapanja, posjetite algoritam sortiranja stapanja.

Uzmimo primjer sort()metode.

Primjer: sortiranje u rastućem redoslijedu

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

Izlaz

 Nerazvrstani popis polja: (4, 2, 3) Poredani popis polja: (2, 3, 4) 

Kao što vidite, sortiranje se prema zadanim postavkama odvija prirodnim redoslijedom (rastućim redoslijedom). Međutim, možemo prilagoditi redoslijed sortiranja sort()metode.

Prilagođeni redoslijed sortiranja

U Javi se sort()metoda može prilagoditi da vrši sortiranje obrnutim redoslijedom pomoću Comparatorsučelja.

Primjer: sortiranje u padajućem redoslijedu

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

Izlaz

 Nerazvrstani popis polja: (4, 2, 3) Prirodno sortiranje: (2, 3, 4) Prilagođeno sortiranje: (4, 3, 2) 

U gornjem primjeru koristili smo sort()metodu s CustomComparator kao argument.

Ovdje je CustomComparator klasa koja implementira Comparatorsučelje. Saznajte više o sučelju Java Comparator.

Zatim zamjenjujemo compare()metodu. Metoda će sada sortirati elemente obrnutim redoslijedom.

Zanimljivi članci...