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.fillmenetapkan semua elemen atau elemen dalam suatu rentang ke satu nilai, secara langsung.Arrays.copyOfmengembalikan larik baru dengan panjang tertentu, dengan menambahkan elemen pengisi atau memotong larik.Arrays.copyOfRangemenyalin 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
- Arrays.sort dan Pengurutan
- Arrays.binarySearch
- Arrays.fill dan copyOf
- Arrays.equals dan toString