Метод сортування 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()метод. Тепер метод сортуватиме елементи у зворотному порядку.

Цікаві статті...