Metoda Java sort ()

V Javi okvir zbirk zagotavlja statično metodo sort (), ki jo lahko uporabimo za razvrščanje elementov v zbirki.

sort()Metoda okviru zbirk uporablja zlivanjem algoritem za razvrščanje elementov zbirke.

Algoritem za združevanje razvrščanja temelji na pravilu deli in osvoji. Če želite izvedeti več o razvrščanju združevanja, obiščite algoritem razvrščanja spojev.

Vzemimo primer sort()metode.

Primer: Razvrščanje v naraščajočem vrstnem redu

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

Izhod

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

Kot lahko vidite, privzeto sortiranje poteka v naravnem vrstnem redu (naraščajoče). Lahko pa prilagodimo vrstni red razvrščanja sort()metode.

Prilagojeni vrstni red razvrščanja

V Javi lahko sort()metodo prilagodite tako, da z Comparatorvmesnikom izvede sortiranje v obratnem vrstnem redu .

Primer: Razvrščanje po padajočem vrstnem redu

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

Izhod

 Nerazvrščen seznam array: (4, 2, 3) naravno razvrščanje: (2, 3, 4) prilagojeno razvrščanje: (4, 3, 2) 

V zgornjem primeru smo sort()kot argument uporabili metodo z CustomComparator.

Tu je CustomComparator razred, ki izvaja Comparatorvmesnik. Preberite več o vmesniku Java Comparator.

Nato compare()metodo preglasimo . Zdaj bo metoda razvrstila elemente v obratnem vrstnem redu.

Zanimive Članki...