Rumah >Java >javaTutorial >Java Iterator and Iterable: Meneroka Seni Java Collection Traversal

Java Iterator and Iterable: Meneroka Seni Java Collection Traversal

PHPz
PHPzke hadapan
2024-02-19 23:10:181204semak imbas

Java Iterator 和 Iterable:探索 Java 集合遍历的艺术

Java Iterator and Iterable: Terokai seni traversal koleksi di Jawa. Dalam pengaturcaraan Java, Iterator dan Iterable ialah antara muka penting untuk merentasi elemen koleksi. Mereka menyediakan cara yang fleksibel dan cekap untuk mengakses dan memanipulasi elemen dalam koleksi. Artikel ini akan menyelidiki prinsip dan penggunaan antara muka Iterator dan Iterable untuk membantu pembaca memahami dengan lebih baik butiran teknikal traversal koleksi Java. Editor PHP Banana akan mendedahkan misteri "seni" ini untuk semua orang, membolehkan anda menguasai intipati traversal koleksi dengan mudah.

1. Antara muka Iterator

Antara muka Iterator mentakrifkan kaedah untuk melintasi elemen koleksi, termasuk hasNext() dan next(). Kaedah hasNext() digunakan untuk menyemak sama ada terdapat lebih banyak elemen dalam koleksi, dan kaedah next() digunakan untuk mendapatkan elemen seterusnya.

import java.util.Iterator;

public class IteratorDemo {

public static void main(String[] args) {
// 创建一个 ArrayList 集合
ArrayList<String> list = new ArrayList<>();

// 添加一些元素到集合中
list.add("Java");
list.add("python");
list.add("c++");
list.add("C#");

// 获取集合的 Iterator 对象
Iterator<String> iterator = list.iterator();

// 遍历集合元素
while (iterator.hasNext()) {
String element = iterator.next();
System.out.println(element);
}
}
}

Keluaran:

import java.util.Iterable;

public class IterableDemo implements Iterable<String> {

private String[] elements = {"Java", "Python", "C++", "C#"};

@Override
public Iterator<String> iterator() {
return new Iterator<String>() {

private int index = 0;

@Override
public boolean hasNext() {
return index < elements.length;
}

@Override
public String next() {
return elements[index++];
}
};
}

public static void main(String[] args) {
// 创建一个 IterableDemo 对象
IterableDemo iterableDemo = new IterableDemo();

// 遍历集合元素
for (String element : iterableDemo) {
System.out.println(element);
}
}
}

Keluaran:

import java.util.ArrayList;
import java.util.Iterator;

public class IteratorIterableDemo {

public static void main(String[] args) {
// 创建一个 ArrayList 集合
ArrayList<String> list = new ArrayList<>();

// 添加一些元素到集合中
list.add("Java");
list.add("Python");
list.add("C++");
list.add("C#");

// 使用 Iterator 遍历集合元素
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String element = iterator.next();
System.out.println(element);
}

// 使用 for-each 循环遍历集合元素
for (String element : list) {
System.out.println(element);
}
}
}

Keluaran:

Java
Python
C++
C#
Java
Python
C++
C#

4. Kesimpulan

Iterator dan Iterable ialah dua antara muka yang penting dalam rangka kerja koleksi Java untuk merentasi elemen koleksi, manakala Iterable mewakili koleksi yang boleh dilalui dengan berkesan.

Atas ialah kandungan terperinci Java Iterator and Iterable: Meneroka Seni Java Collection Traversal. 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