0Pricing
Java Academy · Pelajaran

Arrays.fill dan copyOf

Isi dan ubah ukuran array

Arrays.fill dan copyOf adalah pelajaran Java Academy gratis di CoddyKit. Ini adalah pelajaran 3 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.

Mengisi Larik

Arrays.fill menetapkan nilai yang sama pada setiap elemen larik. Metode ini mengubah larik secara langsung dan berguna untuk menginisialisasi atau mengatur ulang data.

Pengisian Dasar

Isi seluruh larik dengan satu nilai.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] nums = new int[5];
        Arrays.fill(nums, 7);
        System.out.println(Arrays.toString(nums));
    }
}

Mengisi Rentang

Arrays.fill(array, from, to, value) hanya mengisi sebagian larik. Rentang tersebut mencakup from dan tidak mencakup to.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] nums = new int[6];
        Arrays.fill(nums, 2, 5, 9);
        System.out.println(Arrays.toString(nums));
    }
}

Mengisi Larik Objek

fill juga berfungsi pada larik objek. Perhatikan bahwa setiap posisi menunjuk ke referensi yang sama ketika Anda mengisinya dengan sebuah objek.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        String[] grid = new String[4];
        Arrays.fill(grid, "empty");
        System.out.println(Arrays.toString(grid));
    }
}

Mengubah Ukuran dengan copyOf

Larik memiliki panjang tetap. Untuk mendapatkan larik yang lebih besar atau lebih kecil, Arrays.copyOf(array, newLength) mengembalikan larik baru dengan ukuran yang diminta.

Memperbesar Larik

Jika panjang baru lebih besar, posisi tambahan mendapatkan nilai bawaan: 0 untuk tipe numerik, false untuk nilai logis, dan null untuk objek.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] nums = {1, 2, 3};
        int[] bigger = Arrays.copyOf(nums, 5);
        System.out.println(Arrays.toString(bigger));
    }
}

Memendekkan Larik

Jika panjang baru lebih kecil, larik akan terpotong dan elemen-elemen di bagian akhir dihapus.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] nums = {1, 2, 3, 4, 5};
        int[] smaller = Arrays.copyOf(nums, 3);
        System.out.println(Arrays.toString(smaller));
    }
}

Menyalin Rentang

Arrays.copyOfRange(array, from, to) menyalin sebagian larik ke dalam larik baru. Sekali lagi, from bersifat inklusif dan to bersifat eksklusif.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] nums = {10, 20, 30, 40, 50};
        int[] middle = Arrays.copyOfRange(nums, 1, 4);
        System.out.println(Arrays.toString(middle));
    }
}

copyOf Tidak Mengubah Larik

Berbeda dari fill, copyOf membiarkan larik asli tetap utuh dan mengembalikan larik yang benar-benar baru. Larik asli dan salinannya tidak saling bergantung.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] original = {1, 2, 3};
        int[] copy = Arrays.copyOf(original, 3);
        copy[0] = 99;
        System.out.println("Original: " + Arrays.toString(original));
        System.out.println("Copy:     " + Arrays.toString(copy));
    }
}

Idiom Pengubahan Ukuran Manual

Sebelum ada ArrayList, program memperbesar larik dengan menyalinnya ke larik yang lebih besar. copyOf menggandakan kapasitas dalam satu pemanggilan.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] data = {1, 2, 3, 4};
        data = Arrays.copyOf(data, data.length * 2);
        data[4] = 5;
        System.out.println(Arrays.toString(data));
    }
}

fill dibandingkan copyOf

Ingat perbedaannya: fill menimpa slot yang sudah ada secara langsung dan tidak mengembalikan nilai; copyOf membuat salinan dengan ukuran yang diubah lalu mengembalikannya. Pilih berdasarkan apakah Anda memerlukan panjang baru.

Uji Cepat

Uji pemahaman Anda tentang fill dan copyOf.

Ringkasan

Anda telah mempelajari cara mengisi dan mengubah ukuran larik.

  • Arrays.fill menetapkan semua elemen atau elemen dalam suatu rentang ke satu nilai, secara langsung.
  • Arrays.copyOf mengembalikan larik baru dengan panjang tertentu, dengan menambahkan elemen pengisi atau memotong larik.
  • Arrays.copyOfRange menyalin sebagian larik.
  • copyOf tidak merusak data; fill mengubah data.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Arrays.fill dan copyOf” gratis?

Ya — teks lengkap “Arrays.fill dan copyOf” 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.fill dan copyOf”?

Isi dan ubah ukuran 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 3 dari 4.

Berapa lama pelajaran “Arrays.fill dan copyOf” 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