0Pricing
Java Academy · Pelajaran

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; gunakan Arrays.equals untuk kesamaan isi.
  • Urutan dan panjang sama-sama penting.
  • Arrays.toString menghasilkan keluaran yang mudah dibaca; deepToString menangani struktur bersarang.
  • deepEquals membandingkan 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

  1. Arrays.sort dan Pengurutan
  2. Arrays.binarySearch
  3. Arrays.fill dan copyOf
  4. Arrays.equals dan toString
← Kembali ke Java Academy