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

Alat traversal koleksi: rahsia Java Iterator dan Iterable

王林
Lepaskan: 2024-02-20 08:30:49
ke hadapan
836 orang telah melayarinya

集合遍历利器: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(Consumer<? super E> act<strong class="keylink">io</strong>n)ai
  • ning(Consumer 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);
}
Salin selepas log masuk

Keluaran:

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

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

Keluaran:

John
Mary
Bob
Salin selepas log masuk

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!

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