Iterator dan Iterable dalam Java ialah antara muka utama dalam rangka kerja koleksi Java, yang memberikan kemudahan untuk merentasi koleksi. Dalam artikel ini, editor PHP Xinyi akan menganalisis secara mendalam prinsip kerja Iterator dan Iterable dalam Java untuk membantu pembaca memahami dengan lebih baik mekanisme traversal koleksi Java.
hasNext()
: Semak sama ada terdapat lebih banyak elemen dalam koleksi. next()
: Mengembalikan elemen seterusnya dalam koleksi. Iterator juga mentakrifkan beberapa kaedah pilihan, seperti kaedah remove()
, yang digunakan untuk memadamkan elemen semasa daripada koleksi.
Anda boleh melintasi koleksi menggunakan antara muka Iterator menggunakan langkah berikut:
hasNext()
untuk menyemak sama ada terdapat lebih banyak elemen dalam koleksi. next()
untuk mendapatkan elemen seterusnya. Berikut ialah contoh melintasi ArrayList menggunakan antara muka Iterator:
import java.util.ArrayList; import java.util.Iterator; public class IteratorExample { public static void main(String[] args) { // 创建一个 ArrayList ArrayList<String> names = new ArrayList<>(); // 向 ArrayList 中添加一些元素 names.add("John"); names.add("Mary"); names.add("Bob"); // 获取 ArrayList 的 Iterator 对象 Iterator<String> iterator = names.iterator(); // 使用 Iterator 对象遍历 ArrayList while (iterator.hasNext()) { String name = iterator.next(); System.out.println(name); } } }
Antaramuka Iterable ialah antara muka peringkat tinggi dalam rangka kerja koleksi Java untuk merentasi koleksi. Ia mentakrifkan kaedah iterator()
yang mengembalikan objek Iterator.
Sesuatu koleksi boleh dilalui menggunakan antara muka Iterable menggunakan langkah berikut:
iterator()
untuk mendapatkan objek Iterator. Berikut ialah contoh melintasi ArrayList menggunakan antara muka Iterable:
import java.util.ArrayList; import java.util.Iterable; public class IterableExample { public static void main(String[] args) { // 创建一个 ArrayList ArrayList<String> names = new ArrayList<>(); // 向 ArrayList 中添加一些元素 names.add("John"); names.add("Mary"); names.add("Bob"); // 获取 ArrayList 的 Iterable 对象 Iterable<String> iterable = names; // 使用 Iterable 对象获取一个 Iterator 对象 Iterator<String> iterator = iterable.iterator(); // 使用 Iterator 对象遍历 ArrayList while (iterator.hasNext()) { String name = iterator.next(); System.out.println(name); } } }
Antara muka Iterator dan Iterable ialah kedua-dua antara muka untuk merentasi koleksi, tetapi terdapat beberapa perbezaan antara keduanya.
hasNext()
和 next()
dan iterator()
Iterable mentakrifkan hanya satu kaedah: Secara umumnya, jika anda perlu mengendalikan secara langsung elemen dalam koleksi, anda boleh menggunakan antara muka Iterator. Jika anda hanya perlu mengulangi elemen dalam koleksi, anda boleh menggunakan antara muka Boleh Diulang.
remove()
方法。如果只需要遍历集合中的元素,则可以使用 Iterable 接口的 iterator()
Sebagai contoh, jika anda perlu mengalih keluar elemen daripada koleksi, anda boleh menggunakan kaedah
Atas ialah kandungan terperinci Java Iterator and Iterable: Analisis mendalam tentang mekanisme traversal koleksi Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!