Metoda Java sort ()

V prostředí Java poskytuje kolekce framework statickou metodu sort (), kterou lze použít k řazení prvků v kolekci.

sort()Způsob rámci sbírek používá algoritmus sloučení k seřazení prvky kolekce.

Algoritmus řazení sloučení je založen na pravidle rozdělit a dobýt. Chcete-li se dozvědět více o sloučení řazení, navštivte Sloučit řazení algoritmu.

Vezměme si příklad sort()metody.

Příklad: Řazení ve vzestupném pořadí

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

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

Jak vidíte, ve výchozím nastavení probíhá třídění v přirozeném pořadí (vzestupně). Můžeme však přizpůsobit pořadí řazení sort()metody.

Přizpůsobené pořadí řazení

V Javě lze sort()metodu přizpůsobit k provádění třídění v opačném pořadí pomocí Comparatorrozhraní.

Příklad: Řazení v sestupném pořadí

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

 Unsorted ArrayList: (4, 2, 3) Natural Sorting: (2, 3, 4) Customized Sorting: (4, 3, 2) 

Ve výše uvedeném příkladu jsme použili sort()metodu s CustomComparator jako argument.

CustomComparator je třída, která implementuje Comparatorrozhraní. Další informace o rozhraní Java Comparator.

Poté compare()metodu přepíšeme . Metoda nyní seřadí prvky v opačném pořadí.

Zajímavé články...