A Java-ban a gyűjtemények keretrendszere statikus metódus-rendszert () biztosít, amely a gyűjtemény elemeinek rendezésére használható.
A sort()
gyűjtemény-keretrendszer metódusa az egyesítés rendezési algoritmust használja a gyűjtemény elemeinek rendezéséhez.
Az egyesítés rendezési algoritmus osztás és meghódítás szabályon alapszik. Ha többet szeretne megtudni az egyesítés rendezéséről, keresse fel az Egyesítés rendezése algoritmust.
Vegyünk egy példát a sort()
módszerre.
Példa: Rendezés növekvő sorrendben
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); ) )
Kimenet
Rendezetlen tömblista: (4, 2, 3) Rendezett tömblista: (2, 3, 4)
Mint látható, alapértelmezés szerint a rendezés természetes sorrendben történik (növekvő sorrendben). Személyre szabhatjuk azonban a sort()
módszer rendezési sorrendjét .
Testreszabott rendezési sorrend
A Java-ban a sort()
módszer testreszabható úgy, hogy fordított sorrendben végezze el a rendezést a Comparator
felület segítségével.
Példa: Rendezés csökkenő sorrendben
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; ) ) )
Kimenet
Rendezés nélküli tömblista: (4, 2, 3) Természetes rendezés: (2, 3, 4) Testreszabott rendezés: (4, 3, 2)
A fenti példában sort()
argumentumként a CustomComparatorral együtt használtuk a módszert.
Itt a CustomComparator az Comparator
interfészt megvalósító osztály . Tudjon meg többet a Java Comparator interfészről.
Ezután felülírjuk a compare()
módszert. A módszer most fordított sorrendben rendezi az elemeket.