Java-s pakub kollektsiooniraamistik staatilist meetodit sort (), mida saab kasutada kogu elementide sortimiseks.
sort()
Meetod kogude raames kasutab Mestimissortimine algoritm sorteerida elemendid kogumise.
Ühendamise sortimise algoritm põhineb jagamise ja vallutamise reeglil. Ühendamissordi kohta lisateabe saamiseks külastage jaotist Sorteerimise algoritm.
Võtame sort()
meetodi näite .
Näide: sortimine kasvavas järjekorras
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); ) )
Väljund
Sorteerimata massiivi loend: (4, 2, 3) sorteeritud massiivi loend: (2, 3, 4)
Nagu näete, toimub sortimine vaikimisi loomulikus järjekorras (kasvavas järjekorras). Kuid me saame kohandada sort()
meetodi sortimise järjekorda .
Kohandatud sortimiskord
Java-s saab sort()
meetodit kohandada sortimise sooritamiseks Comparator
liidese abil vastupidises järjekorras .
Näide: sortimine kahanevas järjekorras
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; ) ) )
Väljund
Sorteerimata massiivide loend: (4, 2, 3) Loomulik sorteerimine: (2, 3, 4) Kohandatud sortimine: (4, 3, 2)
Ülaltoodud näites oleme sort()
argumendina kasutanud meetodit CustomComparatoriga.
Siin on CustomComparator klass, mis rakendab Comparator
liidest. Lisateave Java Comparatori liidese kohta.
Seejärel alistame compare()
meetodi. Nüüd sorteerib meetod elemente vastupidises järjekorras.