Rumah  >  Artikel  >  Java  >  Alat traversal koleksi: rahsia Java Iterator dan Iterable

Alat traversal koleksi: rahsia Java Iterator dan Iterable

王林
王林ke hadapan
2024-02-20 08:30:49696semak imbas

集合遍历利器:Java Iterator与Iterable的奥秘

Java Iterator dan Iterable ialah dua antara muka utama yang digunakan untuk merentasi koleksi dalam JavaCollectionsFramework. Mereka menyediakan cara yang mudah dan bersatu untuk mengakses elemen dalam koleksi tanpa memanipulasi koleksi itu sendiri secara langsung. Dalam artikel ini, kami akan mendalami Iterator dan Iterable dan menunjukkan cara menggunakannya untuk memudahkan traversal koleksi melalui kod demo.

Antara muka iterator

Iterator ialah antara muka yang mentakrifkan kaedah untuk mengulang elemen dalam koleksi. Ia menyediakan empat kaedah untuk melintasi koleksi:

  • hasNext(): Semak sama ada masih terdapat unsur dalam koleksi.
  • next(): Mengembalikan elemen seterusnya dalam koleksi.
  • remove(): Alih keluar elemen semasa daripada koleksi.
  • forEachRem<code>forEachRem<strong class="keylink">ai</strong>ning(Consumer0d74ac1b2f8f9ab0eb66f930789a9645 act<strong class="keylink">io</strong>n)ai
  • ning(Consumer0d74ac1b2f8f9ab0eb66f930789a9645 act
io

n): Lakukan operasi pada elemen yang tinggal dalam koleksi.

Antaramuka Iterator biasanya digunakan dengan kaedah Iterator() koleksi, yang mengembalikan objek Iterator yang boleh digunakan untuk mengulang elemen dalam koleksi. Sebagai contoh, kod berikut menunjukkan cara menggunakan Iterator untuk mengulangi ArrayList:

List<String> names = new ArrayList<>();
names.add("John");
names.add("Mary");
names.add("Bob");

Iterator<String> iterator = names.iterator();
while (iterator.hasNext()) {
String name = iterator.next();
System.out.println(name);
}

Keluaran:

List<String> names = new ArrayList<>();
names.add("John");
names.add("Mary");
names.add("Bob");

for (String name : names) {
System.out.println(name);
}

Keluaran:

John
Mary
Bob

Perbezaan antara Iterator dan Iterable
  • Iterator dan Iterable ialah kedua-dua antara muka untuk merentasi koleksi, tetapi terdapat beberapa perbezaan utama antara keduanya:
  • remove()方法和forEachRemaining()方法。Iterable只提供了iterator()Iterator ialah antara muka instance, yang bermaksud ia mesti dilaksanakan oleh kelas koleksi. Iterable ialah antara muka jenis, yang bermaksud ia boleh dilaksanakan oleh mana-mana kelas, termasuk kelas koleksi dan bukan koleksi.
  • Iterator menyediakan fungsi yang lebih kaya daripada Iterable kerana ia menyediakan kaedah
  • dan kaedah forEachRemaining(). Iterable hanya menyediakan kaedah iterator().

Iterator biasanya digunakan dengan gelung while, manakala Iterable biasanya digunakan dengan gelung yang dipertingkatkan.

Kesimpulan🎜 🎜Java Iterator dan Iterable ialah dua antara muka utama dalam rangka kerja koleksi Java untuk merentasi koleksi. Mereka menyediakan cara yang mudah dan bersatu untuk mengakses elemen dalam koleksi tanpa memanipulasi koleksi itu sendiri secara langsung. Iterator menyediakan fungsi yang lebih kaya daripada Iterable, tetapi Iterable lebih mudah digunakan. 🎜

Atas ialah kandungan terperinci Alat traversal koleksi: rahsia Java Iterator dan Iterable. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:lsjlt.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam