Metóda Java sort ()

V prostredí Java poskytuje kolekčný rámec statickú metódu sort (), ktorú je možné použiť na triedenie prvkov v kolekcii.

sort()Spôsob rámci zbierok používa algoritmus zlúčenie na zoradenie prvky kolekcie.

Algoritmus triedenia zlúčenia je založený na pravidle rozdelenia a dobytia. Ak sa chcete dozvedieť viac o triedení zlúčenia, navštívte algoritmus zlúčenia zoradenia.

Zoberme si príklad sort()metódy.

Príklad: Zoradenie vzostupne

 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ýkon

 Nezoradený zoznam polí: (4, 2, 3) Zoradený zoznam polí: (2, 3, 4) 

Ako môžete vidieť, predvolene sa triedenie uskutočňuje v prirodzenom poradí (vzostupne). Môžeme však prispôsobiť poradie triedenia sort()metódy.

Prispôsobené poradie triedenia

V prostredí Java je možné sort()metódu prispôsobiť tak, aby sa pomocou Comparatorrozhrania uskutočnilo triedenie v opačnom poradí .

Príklad: Zoradenie zostupne

 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ýkon

 Unsorted ArrayList: (4, 2, 3) Prirodzené triedenie: (2, 3, 4) Prispôsobené triedenie: (4, 3, 2) 

Vo vyššie uvedenom príklade sme použili sort()metódu s CustomComparator ako argument.

CustomComparator je trieda, ktorá implementuje Comparatorrozhranie. Získajte viac informácií o rozhraní Java Comparator.

Potom compare()metódu prepíšeme . Metóda teraz zoradí prvky v opačnom poradí.

Zaujímavé články...