Apabila bekerja dengan koleksi di Java, Iterator memainkan peranan penting dalam melintasi dan memproses elemen dengan cekap. Blog ini meneroka konsep, utiliti dan pelaksanaan iterator dalam Java, membantu anda memanfaatkan alat ini untuk mengurus koleksi dengan berkesan.
Interator ialah objek yang membenarkan akses berjujukan kepada elemen dalam koleksi tanpa mendedahkan struktur asasnya. Ia adalah sebahagian daripada pakej java.util dan biasanya digunakan dengan koleksi seperti Senarai, Set dan Peta.
Iterator menyediakan cara yang konsisten untuk melintasi koleksi, tanpa mengira jenisnya. Konsistensi ini amat penting dalam aplikasi yang kompleks di mana koleksi boleh berbeza-beza secara meluas dalam pelaksanaan tetapi memerlukan pemprosesan seragam. Faedah utama termasuk:
Antaramuka Iterator menyediakan tiga kaedah utama:
1.hasNext():
Iterator<String> iterator = list.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); }
2.next():
Mengembalikan elemen seterusnya dalam koleksi.
Melempar NoSuchElementException jika tiada unsur yang tinggal.
3.buang():
Mengalih keluar elemen terakhir yang dikembalikan oleh lelaran.
Contoh:
iterator.remove();
Kedua-dua iterator dan for-gelung dipertingkat memudahkan traversal koleksi, tetapi iterator memberikan lebih kawalan, seperti keupayaan untuk mengalih keluar elemen. Gelung untuk dipertingkatkan sesuai untuk akses baca sahaja.
Contoh:
// Enhanced for-loop for (String item : list) { System.out.println(item); } // Using Iterator Iterator<String> iterator = list.iterator(); while (iterator.hasNext()) { String item = iterator.next(); if (item.equals("remove")) { iterator.remove(); } }
1.Pelajar Senarai:
Kerja dengan koleksi yang dipesan.
Contoh:
Listlist = Arrays.asList("A", "B", "C"); Iterator<String> iterator = list.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); }
2.Tetapkan Iterator:
Tiada pendua; tempahan tidak dijamin.
Contoh:
Set<String> set = new HashSet<>(Arrays.asList("A", "B", "C")); Iterator<String> iterator = set.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); }
3.Pelajar Peta:
Gunakan entrySet(), keySet(), atau values() untuk mengulangi entri, kunci atau nilai.
Contoh:
Map<String, Integer> map = new HashMap<>(); map.put("A", 1); map.put("B", 2); Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry<String, Integer> entry = iterator.next(); System.out.println(entry.getKey() + "=" + entry.getValue()); }
Perjalanan Satu Arah: Pelayar hanya boleh bergerak ke hadapan.
Pengubahsuaian Serentak: Mengubah suai koleksi sambil mengulanginya (di luar keluarkan()) membuang ConcurrentModificationException.
Baca dan Alih Keluar Sahaja: Iterator tidak menyokong penambahan elemen; untuk ini, gunakan ListIterator.
Iterators Java ialah alat yang berkuasa untuk menavigasi koleksi, menawarkan kesederhanaan dan konsistensi. Walaupun mereka mempunyai had, memahami kes penggunaan dan ciri lanjutan mereka, seperti ListIterator, boleh meningkatkan keupayaan anda untuk memanipulasi koleksi dengan cekap.
Atas ialah kandungan terperinci Memahami Java Iterator: A Deep Dive. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!