Arrays.equals dan toString
Bandingkan dan cetak array.
Arrays.equals dan toString adalah pelajaran Java Academy gratis di CoddyKit. Ini adalah pelajaran 4 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.
Membandingkan dan Mencetak
Larik tidak mengganti equals atau toString dengan cara yang berguna. Kelas utilitas untuk larik menyediakan equals dan toString yang benar-benar memeriksa isi elemen.
Mengapa == Gagal
Menggunakan == pada larik membandingkan referensi, bukan isi. Dua larik berbeda dengan elemen yang identik tidak dianggap sama oleh ==.
public class Main {
public static void main(String[] args) {
int[] a = {1, 2, 3};
int[] b = {1, 2, 3};
System.out.println(a == b);
}
}Arrays.equals
Arrays.equals(a, b) mengembalikan nilai benar jika kedua larik memiliki panjang yang sama dan elemen yang sama pada posisi yang sama.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] a = {1, 2, 3};
int[] b = {1, 2, 3};
System.out.println(Arrays.equals(a, b));
}
}Urutan Berpengaruh
Urutan elemen sangat penting. Dua larik dengan nilai yang sama tetapi urutan berbeda dianggap tidak sama.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] a = {1, 2, 3};
int[] b = {3, 2, 1};
System.out.println(Arrays.equals(a, b));
}
}Membandingkan Larik Objek
Untuk larik objek, Arrays.equals membandingkan elemen menggunakan metode equals milik masing-masing elemen.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
String[] a = {"x", "y", "z"};
String[] b = {"x", "y", "z"};
System.out.println(Arrays.equals(a, b));
}
}toString untuk Keluaran yang Mudah Dibaca
Mencetak larik secara langsung menampilkan sesuatu seperti [I@1b6d3586, yaitu nama kelas dan hash. Arrays.toString menghasilkan bentuk [1, 2, 3] yang mudah dibaca.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] nums = {1, 2, 3};
System.out.println(nums);
System.out.println(Arrays.toString(nums));
}
}Larik Bersarang: deepEquals
Untuk larik yang berisi larik, equals biasa hanya memeriksa referensi luar dari setiap baris. Gunakan Arrays.deepEquals untuk membandingkan isi yang bersarang.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[][] a = {{1, 2}, {3, 4}};
int[][] b = {{1, 2}, {3, 4}};
System.out.println(Arrays.equals(a, b));
System.out.println(Arrays.deepEquals(a, b));
}
}Larik Bersarang: deepToString
Demikian pula, Arrays.deepToString mencetak larik bersarang dengan jelas, sedangkan toString biasa akan menampilkan referensi bagian dalam.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[][] grid = {{1, 2}, {3, 4}};
System.out.println(Arrays.toString(grid));
System.out.println(Arrays.deepToString(grid));
}
}hashCode untuk Larik
Jika Anda memerlukan hash berdasarkan isi, gunakan Arrays.hashCode dan Arrays.deepHashCode untuk larik bersarang. Keduanya konsisten dengan Arrays.equals.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] a = {1, 2, 3};
int[] b = {1, 2, 3};
System.out.println(Arrays.hashCode(a) == Arrays.hashCode(b));
}
}Membandingkan Setelah Pengurutan
Untuk memeriksa apakah dua larik berisi kumpulan nilai yang sama tanpa memperhatikan urutan, urutkan salinan keduanya lalu bandingkan dengan Arrays.equals.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] a = {3, 1, 2};
int[] b = {2, 3, 1};
int[] ca = Arrays.copyOf(a, a.length);
int[] cb = Arrays.copyOf(b, b.length);
Arrays.sort(ca);
Arrays.sort(cb);
System.out.println(Arrays.equals(ca, cb));
}
}Pencatatan Log Menjadi Mudah
Saat melakukan penelusuran kesalahan, bungkus larik dengan Arrays.toString di dalam pernyataan pencetakan agar Anda dapat membaca nilainya, bukan referensi yang sulit dipahami.
Uji Cepat
Uji pemahaman Anda tentang perbandingan larik.
Ringkasan
Anda telah mempelajari cara membandingkan dan mencetak larik.
==membandingkan referensi; gunakanArrays.equalsuntuk kesamaan isi.- Urutan dan panjang sama-sama penting.
Arrays.toStringmenghasilkan keluaran yang mudah dibaca;deepToStringmenangani struktur bersarang.deepEqualsmembandingkan larik bersarang.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Arrays.equals dan toString” gratis?
Ya — teks lengkap “Arrays.equals dan toString” 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.equals dan toString”?
Bandingkan dan cetak array. 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 4 dari 4.
Berapa lama pelajaran “Arrays.equals dan toString” 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