Iterator dan for yang Disempurnakan
Telusuri koleksi dengan Iterator dan for yang disempurnakan. Pelajari penghapusan yang aman selama iterasi dan kesalahan umum.
Iterator dan for yang Disempurnakan adalah pelajaran Java Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 3. 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 3 pelajaran total.
Ikhtisar
Iterator memberikan kendali langkah demi langkah untuk menelusuri koleksi. Perulangan for yang diperluas (for-each) lebih singkat dan rapi untuk membaca elemen. Gunakan Iterator saat Anda perlu menghapus elemen dengan aman selama penelusuran.
Iterator vs perulangan for-each
- Iterator: gunakan saat Anda mungkin menghapus elemen atau memerlukan kendali yang lebih rinci.
- Perulangan for yang diperluas: paling cocok untuk perulangan hanya-baca.
- Jangan pernah mengubah struktur koleksi di dalam perulangan for yang diperluas.
Kode: Iterator dasar
Iterator menggunakan hasNext() dan next(). Setiap pemanggilan next() bergerak maju dan mengembalikan elemennya.
public class Main {
public static void main(String[] args) {
java.util.List<String> names = new java.util.ArrayList<>();
names.add("Ada"); names.add("Bob"); names.add("Cyd");
java.util.Iterator<String> it = names.iterator();
while (it.hasNext()) {
String s = it.next();
System.out.println(s);
}
}
}
Kesalahan umum
Kesalahan umum: Menghapus elemen secara langsung di dalam perulangan for yang diperluas sering kali menimbulkan ConcurrentModificationException. Gunakan Iterator untuk perubahan struktur yang aman.
Kode: penghapusan aman
Penghapusan aman: panggil remove() pada Iterator segera setelah next() ketika kecocokan ditemukan.
public class Main {
public static void main(String[] args) {
java.util.List<String> words = new java.util.ArrayList<>();
words.add("to"); words.add("be"); words.add("or"); words.add("not");
java.util.Iterator<String> it = words.iterator();
while (it.hasNext()) {
String w = it.next();
if (w.length() <= 2) {
it.remove(); // safe removal
}
}
System.out.println(words); // [not]
}
}
Kode: perulangan for yang diperluas/forEach
Perulangan for yang diperluas rapi untuk membaca. forEach dengan lambda adalah gaya singkat lainnya (Java 8+).
public class Main {
public static void main(String[] args) {
java.util.Set<String> tags = new java.util.HashSet<>();
tags.add("java"); tags.add("collections"); tags.add("oop");
// enhanced for: read-only
for (String t : tags) {
System.out.print("[" + t + "]");
}
System.out.println();
// Java 8+ forEach
tags.forEach(t -> System.out.println("tag=" + t));
}
}
Pemeriksaan penghapusan dengan Iterator
Pemeriksaan singkat: Bagaimana cara menghapus elemen dengan aman saat melakukan iterasi pada Daftar?
Ringkasan
Ringkasan: Gunakan perulangan for yang diperluas untuk pembacaan sederhana. Gunakan Iterator saat Anda harus menghapus elemen selama penelusuran. Hal ini mencegah kesalahan saat program berjalan.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Iterator dan for yang Disempurnakan” gratis?
Ya — teks lengkap “Iterator dan for yang Disempurnakan” 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 3 pelajaran total.
Apa yang akan aku pelajari di “Iterator dan for yang Disempurnakan”?
Telusuri koleksi dengan Iterator dan for yang disempurnakan. Pelajari penghapusan yang aman selama iterasi dan kesalahan umum. 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 2 dari 3.
Berapa lama pelajaran “Iterator dan for yang Disempurnakan” 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
- Gambaran Umum List dan Set
- Iterator dan for yang Disempurnakan
- Utilitas Koleksi