Java Iterator vs. Iterable: Buka kunci rahsia pengaturcaraan yang cekap. Iterator dan Iterable dalam Java ialah antara muka utama yang biasa digunakan dalam pengaturcaraan Mereka boleh membantu kami mencapai traversal dan operasi data yang cekap. Penggunaan Fleksibel Iterator dan Iterable dalam pengaturcaraan Java boleh menjadikan kod kami lebih ringkas dan cekap, meningkatkan kecekapan pembangunan dan kualiti kod. Artikel ini akan menyelidiki petua penggunaan dan langkah berjaga-jaga Iterator dan Iterable untuk membantu pembaca lebih memahami dan menggunakan kedua-dua antara muka ini, sekali gus meningkatkan kecekapan dan kualiti pengaturcaraan.
Iterator ialah antara muka dalam rangka kerja koleksi Java yang digunakan untuk melintasi elemen koleksi. Ia menyediakan dua kaedah asas, hasNext() dan next(), yang digunakan untuk menyemak sama ada terdapat lebih banyak elemen dalam koleksi dan untuk mendapatkan elemen seterusnya masing-masing. Antara muka Iterable ialah antara muka induk Iterator Ia hanya mengisytiharkan kaedah iterator(), yang digunakan untuk mengembalikan contoh Iterator baharu.
Iterator dan Iterable sangat mudah digunakan, hanya gunakan pernyataan foreach Java. Pernyataan foreach secara automatik mencipta contoh Iterator dan melelaran melalui semua elemen dalam koleksi tanpa perlu memanggil kaedah hasNext() dan next() secara manual. Contohnya:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); for (int number : numbers) { System.out.println(number); }
Keluaran:
List<String> names = Arrays.asList("John", "Mary", "Bob"); Iterator<String> iterator = names.iterator(); while (iterator.hasNext()) { String name = iterator.next(); System.out.println(name); }
class MyIterable implements Iterable<Integer> { private List<Integer> numbers; public MyIterable(List<Integer> numbers) { this.numbers = numbers; } @Override public Iterator<Integer> iterator() { return new MyIterator(numbers); } } class MyIterator implements Iterator<Integer> { private List<Integer> numbers; private int index = 0; public MyIterator(List<Integer> numbers) { this.numbers = numbers; } @Override public boolean hasNext() { return index < numbers.size(); } @Override public Integer next() { return numbers.get(index++); } } public class Main { public static void main(String[] args) { MyIterable iterable = new MyIterable(Arrays.asList(1, 2, 3, 4, 5)); for (int number : iterable) { System.out.println(number); } } }
Keluaran:
1 2 3 4 5
Iterator dan Iterable ialah dua antara muka yang sangat penting dalam rangka kerja koleksi Java. Ia menyediakan akses dan traversal elemen koleksi yang cekap. Dengan memahami konsep dan penggunaan Iterator dan Iterable, anda boleh menulis kod Java yang cekap dan elegan.
Atas ialah kandungan terperinci Java Iterator lwn. Iterable: Membuka kunci Rahsia Pengaturcaraan Cekap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!