Rumah >Java >javaTutorial >Java Iterator dan Iterable dari pemula hingga mahir
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 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(); }
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(); }
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(); }
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); }
Iterator dan Iterable ialah dua antara muka yang berkait rapat, tetapi terdapat beberapa perbezaan antara keduanya.
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!