Di Java, framework koleksi menyediakan metode sortir statis () yang bisa digunakan untuk mengurutkan elemen dalam koleksi.
The sort()
metode kerangka koleksi menggunakan algoritma merge sort untuk mengurutkan elemen koleksi.
Algoritme pengurutan gabungan didasarkan pada aturan divide and conquers. Untuk mempelajari selengkapnya tentang jenis gabungan, kunjungi Algoritme Pengurutan Gabung.
Mari kita ambil contoh sort()
metodenya.
Contoh: Mengurutkan dalam Urutan Naik
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); ) )
Keluaran
Daftar Array yang Tidak Diurutkan: (4, 2, 3) Daftar Array yang Diurutkan: (2, 3, 4)
Seperti yang Anda lihat, secara default, pengurutan terjadi dalam urutan alami (urutan naik). Namun, kami dapat menyesuaikan urutan sort()
metode tersebut.
Urutan Penyortiran Khusus
Di Java, sort()
metode ini dapat disesuaikan untuk melakukan pengurutan dalam urutan terbalik menggunakan Comparator
antarmuka.
Contoh: Mengurutkan dalam Urutan Menurun
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; ) ) )
Keluaran
Daftar Array Tidak Diurutkan: (4, 2, 3) Penyortiran Alami: (2, 3, 4) Penyortiran Khusus: (4, 3, 2)
Dalam contoh di atas, kami telah menggunakan sort()
metode dengan CustomComparator sebagai argumen.
Di sini, CustomComparator adalah kelas yang mengimplementasikan Comparator
antarmuka. Pelajari lebih lanjut tentang Java Comparator Interface.
Kami kemudian mengganti compare()
metode tersebut. Metode ini sekarang akan mengurutkan elemen dalam urutan terbalik.