首页 > 文章列表 > 探索 Java 集合中的 Iterator 和 Iterable 的使用方法

探索 Java 集合中的 Iterator 和 Iterable 的使用方法

java iterator 集合 iterable 循环 遍历
311 2024-02-22

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

Java Iterator 和 Iterable 是 Java 集合框架中用来遍历集合元素的两个重要的接口,Iterator 提供了遍历集合元素的方法,而 Iterable 表示可遍历的集合。这两个接口协同工作,有效地实现了集合元素的遍历和操作。

1. Iterator 接口

Iterator 接口定义了遍历集合元素的方法,包括 hasNext() 和 next()。hasNext() 方法用于检查集合中是否还有元素,next() 方法用于获取下一个元素。

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);
}
}
}

输出:

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);
}
}
}

输出:

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);
}
}
}

输出:

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

4. 结论

Iterator 和 Iterable 是 Java 集合框架中用于遍历集合元素的两个重要接口,Iterator 提供了遍历集合元素的方法,而 Iterable 表示可遍历的集合,两者协同工作,有效地实现了集合元素的遍历和操作。