Rumah > Java > javaTutorial > teks badan

Java Iterator dan Iterable: Membuka Kunci Misteri Java Collection Traversal

PHPz
Lepaskan: 2024-02-19 23:50:26
ke hadapan
599 orang telah melayarinya

Java Iterator 和 Iterable:解开 Java 集合遍历的奥秘

Java Iterator dan Iterable adalah konsep yang sangat penting dalam pengaturcaraan Java. Ia memberikan kami cara yang mudah untuk merentasi koleksi. Bagi pemula, kedua-dua antara muka ini mungkin menyebabkan sedikit kekeliruan, tetapi selagi mereka memahami prinsip dan penggunaannya, ia boleh dikuasai dengan mudah. Dalam artikel ini, kami akan menyelidiki misteri Java Iterator dan Iterable untuk membantu pembaca memahami dan menerapkannya dengan lebih baik. Datang dengan editor PHP Yuzi untuk membongkar misteri traversal koleksi Java!

Antara muka

Iterator ialah antara muka yang ditakrifkan dalam Java CollectionFramework, yang menyediakan satu siri kaedah untuk melintasi elemen koleksi. Antara muka Iterator mentakrifkan kaedah utama berikut:

  • hasNext(): Mengembalikan nilai Boolean yang menunjukkan sama ada unsur seterusnya wujud.
  • next(): Mengembalikan elemen seterusnya Jika tiada elemen seterusnya, lemparkan NoSuchElementException pengecualian.
  • remove(): Padamkan elemen yang sedang ditunjuk.

Berikut ialah kod contoh untuk melintasi koleksi menggunakan antara muka Iterator:

List<String> list = new ArrayList<>();
list.add("Hello");
list.add("World");
list.add("!");

Iterator<String> iterator = list.iterator();

while (iterator.hasNext()) {
String element = iterator.next();
System.out.println(element);
}
Salin selepas log masuk

Antaramuka yang boleh diubah

Antara muka Iterable ialah antara muka lain yang ditakrifkan dalam rangka kerja koleksi Java, yang mewakili koleksi boleh lelaran. Antara muka Iterable mentakrifkan kaedah utama berikut:

  • iterator(): Mengembalikan objek Iterator untuk merentasi elemen koleksi.

Kelas pelaksanaan antara muka Iterable hanya perlu melaksanakan kaedah iterator() untuk menyediakan fungsi merentasi elemen koleksi. Berikut ialah kod contoh untuk lelaran ke atas koleksi menggunakan antara muka Iterable:

List<String> list = new ArrayList<>();
list.add("Hello");
list.add("World");
list.add("!");

for (String element : list) {
System.out.println(element);
}
Salin selepas log masuk

Perbezaan antara Iterator dan Iterable

Iterator dan Iterable ialah dua antara muka yang penting dalam rangka kerja koleksi Java untuk merentasi koleksi:

  • Iterator ialah kelas konkrit yang menyediakan pelbagai kaedah untuk merentasi elemen koleksi, manakala Iterable hanyalah antara muka yang hanya menyediakan kaedah iterator() untuk mengembalikan objek Iterator.
  • Iterator boleh digunakan terus untuk melintasi elemen koleksi, manakala Iterable perlu terlebih dahulu memanggil kaedah iterator() untuk mendapatkan objek Iterator, dan kemudian menggunakan objek Iterator untuk melintasi elemen koleksi.
  • Iterator boleh memadamkan elemen semasa melintasi elemen koleksi, manakala Iterable tidak boleh memadamkan elemen secara langsung. Anda perlu memadamkan elemen melalui objek Iterator.

Ringkasan

Iterator dan Iterable ialah dua antara muka penting dalam rangka kerja koleksi Java untuk merentasi koleksi. Ia menyediakan kaedah traversal bersatu untuk koleksi. Antara muka Iterator menyediakan pelbagai kaedah untuk mengulangi elemen koleksi dan memadam elemen semasa merentasi elemen koleksi. Antara muka Iterable hanya perlu melaksanakan kaedah iterator() untuk mengembalikan objek Iterator, dan kemudian gunakan objek Iterator untuk melintasi elemen koleksi.

Atas ialah kandungan terperinci Java Iterator dan Iterable: Membuka Kunci Misteri Java Collection Traversal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:lsjlt.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan