Arrays.sort dan Pengurutan
Urutkan array primitif dan objek
Arrays.sort dan Pengurutan adalah pelajaran Java Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Java Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Java Academy mencakup 4 pelajaran total.
Mengapa Kelas Utilitas
Larik dalam Java adalah objek, tetapi hanya memiliki sedikit metode bawaan. Kelas java.util.Arrays melengkapi kekurangan ini dengan metode pembantu statis untuk mengurutkan, mencari, membandingkan, menyalin, dan mencetak larik.
- Impor kelas tersebut dengan
import java.util.Arrays; - Setiap metode bersifat
static, jadi Anda memanggilnya pada kelas itu sendiri:Arrays.sort(...)
Mengurutkan Larik Primitif
Arrays.sort(int[]) mengurutkan larik secara langsung menggunakan pengurutan cepat pivot ganda yang cepat. Tidak ada nilai kembalian; larik asli disusun ulang.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] nums = {5, 2, 8, 1, 9, 3};
Arrays.sort(nums);
System.out.println(Arrays.toString(nums));
}
}Mengurutkan Tipe Primitif Lain
Tersedia metode dengan bentuk berbeda untuk setiap tipe primitif: double[], long[], char[], dan lainnya. Semuanya mengurutkan secara menaik.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
double[] prices = {3.5, 1.2, 9.9, 0.5};
Arrays.sort(prices);
System.out.println(Arrays.toString(prices));
}
}Mengurutkan Rentang
Anda dapat mengurutkan hanya sebagian larik dengan Arrays.sort(array, fromIndex, toIndex). Rentang tersebut mencakup fromIndex dan tidak mencakup toIndex.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] nums = {5, 2, 8, 1, 9, 3};
Arrays.sort(nums, 1, 4);
System.out.println(Arrays.toString(nums));
}
}Mengurutkan Larik Objek
Untuk larik objek seperti String[], Arrays.sort menggunakan urutan alami elemen-elemen tersebut, yaitu implementasi Comparable-nya. String diurutkan secara leksikografis.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
String[] names = {"Charlie", "Alice", "Bob"};
Arrays.sort(names);
System.out.println(Arrays.toString(names));
}
}Mengurutkan dengan Comparator
Untuk mengganti urutan alami, berikan Comparator. Comparator.reverseOrder() mengurutkan secara menurun. Cara ini hanya berfungsi pada larik objek, bukan larik primitif.
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
String[] names = {"Charlie", "Alice", "Bob"};
Arrays.sort(names, Comparator.reverseOrder());
System.out.println(Arrays.toString(names));
}
}Comparator berdasarkan Panjang
Comparator dapat membandingkan berdasarkan properti apa pun. Comparator.comparingInt(String::length) mengurutkan string dari yang paling pendek hingga paling panjang.
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
String[] words = {"banana", "fig", "apple"};
Arrays.sort(words, Comparator.comparingInt(String::length));
System.out.println(Arrays.toString(words));
}
}Stabilitas
Pengurutan larik objek bersifat stabil: elemen yang sama mempertahankan urutan relatif aslinya. Pengurutan primitif tidak dijamin stabil, tetapi nilai primitif yang sama tidak dapat dibedakan sehingga hal itu tidak berpengaruh.
Pengurutan Paralel
Untuk larik yang sangat besar, Arrays.parallelSort membagi pekerjaan ke beberapa inti CPU. Antarmukanya sama dengan sort; hasilnya juga sama, tetapi lebih cepat pada data besar.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] nums = {7, 3, 9, 1, 5, 2, 8, 4};
Arrays.parallelSort(nums);
System.out.println(Arrays.toString(nums));
}
}Jebakan Umum
Arrays.sort mengembalikan void. Baris seperti int[] sorted = Arrays.sort(nums); tidak akan berhasil dikompilasi. Urutkan terlebih dahulu, lalu gunakan variabel yang sama.
Mengurutkan lalu Mencetak
Alur yang umum: urutkan larik secara langsung, lalu cetak dengan Arrays.toString untuk memeriksa hasilnya.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] scores = {88, 72, 95, 60, 81};
Arrays.sort(scores);
System.out.println("Lowest: " + scores[0]);
System.out.println("Highest: " + scores[scores.length - 1]);
System.out.println(Arrays.toString(scores));
}
}Uji Cepat
Uji pemahaman Anda tentang pengurutan.
Rangkuman
Anda telah mempelajari cara mengurutkan larik dengan kelas utilitas Arrays.
Arrays.sort(arr)mengurutkan primitif atau objek secara langsung dan menaik.- Metode dengan rentang,
sort(arr, from, to), mengurutkan sebagian larik. - Larik objek menerima
Comparatoruntuk menentukan urutan khusus. parallelSortmempercepat pengurutan larik besar.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Arrays.sort dan Pengurutan” gratis?
Ya — teks lengkap “Arrays.sort dan Pengurutan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Java Academy, upgrade ke CoddyKit PRO. Kursus Java Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Arrays.sort dan Pengurutan”?
Urutkan array primitif dan objek Kamu berlatih Java Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Java Academy?
Tidak diperlukan pengalaman sebelumnya. Java Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Arrays.sort dan Pengurutan” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Java Academy ini?
Ya. Setiap pelajaran Java Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Arrays.sort dan Pengurutan
- Arrays.binarySearch
- Arrays.fill dan copyOf
- Arrays.equals dan toString