Метод за сортиране на Java ()

В Java рамката на колекциите осигурява статичен метод sort (), който може да се използва за сортиране на елементи в колекция.

В sort()метода на рамката на колекции използва алгоритъм сливане на сортиране за сортиране на елементи на една колекция.

Алгоритъмът за сортиране на сливане се основава на правилото за разделяне и завладяване. За да научите повече за сортирането на обединяване, посетете Алгоритъм за сортиране на обединяване.

Да вземем пример за sort()метода.

Пример: Сортиране във възходящ ред

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

Изход

 Несортиран ArrayList: (4, 2, 3) Сортиран ArrayList: (2, 3, 4) 

Както можете да видите, по подразбиране сортирането се извършва в естествен ред (възходящ ред). Въпреки това можем да персонализираме реда за сортиране на sort()метода.

Персонализирана поръчка за сортиране

В Java sort()методът може да бъде персонализиран да извършва сортиране в обратен ред, използвайки Comparatorинтерфейса.

Пример: Сортиране в низходящ ред

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

Изход

 Несортиран списък с масиви: (4, 2, 3) Естествено сортиране: (2, 3, 4) Персонализирано сортиране: (4, 3, 2) 

В горния пример използвахме sort()метода с CustomComparator като аргумент.

Тук CustomComparator е клас, който реализира Comparatorинтерфейса. Научете повече за интерфейса на Java Comparator.

След това заместваме compare()метода. Сега методът ще сортира елементи в обратен ред.

Интересни статии...