Prinsip pelaksanaan iterator dalam rangka kerja Java ialah: Antara muka Iterator mentakrifkan kaedah asas hasNext(), next() dan remove(); ) menyemak sama ada terdapat elemen yang tersedia Mengembalikan benar jika ada next() mengembalikan elemen semasa dan menggerakkan penunjuk remove() boleh mengalih keluar elemen semasa pada koleksi yang menyokong operasi pemadaman.
Prinsip pelaksanaan iterator dalam rangka kerja Java
Iterator ialah corak reka bentuk yang menyediakan kaedah untuk melintasi item koleksi tanpa mendedahkan representasi asas koleksi. Dalam rangka kerja Java, iterator dilaksanakan melalui antara muka java.util.Iterator
. java.util.Iterator
接口实现。
原理:
Iterator
接口定义了遍历集合所需的基本方法:
hasNext()
: 检查集合中是否还有可用的元素。next()
: 返回集合中的下一个元素。remove()
: 从集合中移除当前元素。实现 Iterator
接口的具体类称为 _具体迭代器_,它负责管理集合的遍历。以下是具体迭代器实现原理的一般步骤:
hasNext()
时,迭代器将检查集合中是否存在可用的元素。如果存在,它将返回 true
,否则返回 false
。next()
时,迭代器将返回当前元素并移动指针到下一个元素。如果集合中没有更多元素,它将抛出 NoSuchElementException
异常。remove()
时,迭代器将从集合中移除当前元素。注意,remove()
仅在支持删除操作的集合上可用。实战案例:
下面是一个使用 ArrayList
和 Iterator
Prinsip:
🎜🎜 Antara mukahasNext()
: Semak sama ada masih ada item dalam koleksi Terdapat elemen yang tersedia. next()
: Mengembalikan elemen seterusnya dalam koleksi. remove()
: Mengalih keluar elemen semasa daripada koleksi. Iterator
dipanggil _concrete iterator_, yang bertanggungjawab untuk menguruskan traversal koleksi. Berikut ialah langkah-langkah umum untuk prinsip pelaksanaan iterator khusus: 🎜hasNext()
dipanggil, iterator akan menyemak sama ada terdapat elemen tersedia dalam koleksi. Ia mengembalikan true
jika ada, false
sebaliknya. next()
dipanggil, iterator akan mengembalikan elemen semasa dan mengalihkan penunjuk ke elemen seterusnya. Jika tiada lagi elemen dalam koleksi, ia akan membuang pengecualian NoSuchElementException
. remove()
dipanggil, iterator akan mengalih keluar elemen semasa daripada koleksi. Ambil perhatian bahawa remove()
hanya tersedia pada koleksi yang menyokong operasi pengalihan keluar. ArrayList
dan Iterator
untuk melintasi koleksi: 🎜import java.util.ArrayList; import java.util.Iterator; public class IteratorExample { public static void main(String[] args) { // 创建一个 ArrayList ArrayList<String> names = new ArrayList<>(); names.add("John"); names.add("Mary"); names.add("Bob"); // 获取 ArrayList 的 Iterator Iterator<String> iterator = names.iterator(); // 使用 Iterator 遍历集合 while (iterator.hasNext()) { String name = iterator.next(); System.out.println(name); } } }
Atas ialah kandungan terperinci Apakah prinsip pelaksanaan corak iterator dalam rangka kerja java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!