Rumah  >  Artikel  >  Java  >  Java Iterator dan Iterable dari pemula hingga mahir

Java Iterator dan Iterable dari pemula hingga mahir

WBOY
WBOYke hadapan
2024-02-20 08:27:34673semak imbas

Java Iterator 和 Iterable 的从入门到精通

Iterator dan Iterable memainkan peranan penting dalam Java CollectionsFramework. Iterator menyediakan cara standard untuk melintasi elemen koleksi, manakala Iterable menyediakan mekanisme untuk mencipta Iterator. Artikel ini akan bermula daripada bermula kepada menguasai, memperkenalkan penggunaan Iterator dan Iterable secara terperinci, membantu pembaca menguasai kemahiran penggunaan kedua-dua antara muka ini, supaya dapat mengendalikan koleksi Java dengan lebih baik.

Iterator dan Gambaran Keseluruhan Boleh Diulang

Iterator

Antara muka

Iterator mentakrifkan iterator yang membolehkan pengaturcara mengakses elemen dalam koleksi mengikut tertib. Iterator menyediakan beberapa kaedah asas, termasuk hasNext(), next(), dan remove(), untuk menyemak sama ada elemen seterusnya wujud, mendapatkan elemen seterusnya dan mengalih keluar elemen semasa daripada koleksi.

public interface Iterator<E> {
boolean hasNext();
E next();
void remove();
}

Iterable

Antaramuka Iterable mentakrifkan objek boleh lelar yang boleh menjana tika Iterator untuk merentasi elemennya. Iterable menyediakan kaedah asas, iterable(), yang mengembalikan contoh Iterator.

public interface Iterable<E> {
Iterator<E> iterator();
}

Penggunaan Iterator dan Boleh Diulang

Gunakan Iterator

Untuk menggunakan Iterator, anda perlu mendapatkan contoh Iterator terlebih dahulu. Anda boleh menggunakan kaedah iterable() antara muka Iterable untuk mendapatkan contoh Iterator, atau anda boleh terus menggunakan kaedah iterator() kelas koleksi untuk mendapatkan contoh Iterator.

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

// 使用 Iterable 接口的 iterable() 方法获取 Iterator 实例
Iterator<String> iterator1 = list.iterable();

// 直接使用集合类的 iterator() 方法获取 Iterator 实例
Iterator<String> iterator2 = list.iterator();

Selepas mendapatkan contoh Iterator, anda boleh menggunakan kaedah hasNext() untuk menyemak sama ada terdapat elemen seterusnya, anda boleh menggunakan kaedah next() untuk mendapatkan elemen seterusnya, dan anda boleh menggunakan kaedah remove() untuk mengalih keluar elemen semasa daripada koleksi.

while (iterator.hasNext()) {
String element = iterator.next();
System.out.println(element);
iterator.remove();
}

Gunakan Iterable

Untuk menggunakan Iterable, anda perlu mendapatkan contoh Iterable terlebih dahulu. Anda boleh mencipta tika Iterable menggunakan instantiasi antara muka Iterable, atau anda boleh mencipta tika Iterable secara langsung menggunakan kelas koleksi.

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

// 使用 Iterable 接口的实例化来创建 Iterable 实例
Iterable<String> iterable1 = new ArrayList<>(list);

// 直接使用集合类来创建 Iterable 实例
Iterable<String> iterable2 = list;

Selepas mendapatkan contoh Iterable, anda boleh menggunakan kaedah iterable() untuk mendapatkan tika Iterator, dan kemudian anda boleh menggunakan tika Iterator untuk melintasi elemen dalam koleksi.

for (String element : iterable) {
System.out.println(element);
}

Perbezaan antara Iterator dan Iterable

Iterator dan Iterable ialah dua antara muka yang berkait rapat, tetapi terdapat beberapa perbezaan antara keduanya.

  • Iterator ialah iterator yang membenarkan pengaturcara mengakses elemen dalam koleksi secara berurutan. Iterable ialah objek boleh lelar yang menjana contoh Iterator untuk mengulang elemennya.
  • Iterator menyediakan beberapa kaedah asas, termasuk hasNext(), next() dan remove(), untuk menyemak sama ada elemen seterusnya wujud, mendapatkan elemen seterusnya dan mengalih keluar elemen semasa daripada koleksi. Iterable hanya menyediakan satu kaedah asas, iterable(), yang mengembalikan contoh Iterator.
  • Iterator boleh digunakan terus untuk melintasi elemen dalam koleksi. Iterable memerlukan mula-mula mendapatkan contoh Iterator, dan kemudian menggunakan contoh Iterator untuk melintasi elemen dalam koleksi.

Ringkasan

Iterator dan Iterable ialah dua antara muka yang sangat penting dalam rangka kerja koleksi Java. Ia menyediakan cara standard untuk merentasi elemen dalam koleksi. Iterator menyediakan iterator untuk akses berurutan kepada elemen koleksi, manakala Iterable menyediakan mekanisme untuk mencipta kejadian Iterator. Menguasai penggunaan Iterator dan Iterable boleh membantu pengaturcara mengendalikan koleksi Java dengan lebih baik.

Atas ialah kandungan terperinci Java Iterator dan Iterable dari pemula hingga mahir. 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