Java Iterator 学习笔记
什么是 Iterator?
Iterator 是 Java 集合框架中的一种迭代器,可以用来遍历集合中的元素。它提供了一种统一的访问集合元素的方式,而不需要暴露集合的实现细节。
Iterator 接口方法
Iterator 接口提供了以下方法:
boolean hasNext()
:如果迭代具有更多元素,则返回 true。Object next()
:返回迭代中的下一个元素。void remove()
(可选操作):从迭代器所表示的集合中移除上一个元素(可选操作)。
使用方法
使用 Iterator 前需要先通过集合的 iterator()
方法获取到 Iterator 对象。然后就可以使用 hasNext()
和 next()
方法进行迭代。如果需要删除当前元素,可以使用 remove()
方法。
下面是一个简单的例子,演示如何使用 Iterator 遍历 ArrayList:
javaCopy Codeimport java.util.ArrayList;
import java.util.Iterator;
public class Test {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");
list.add("C++");
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
运行结果为:
Copy CodeJava
Python
C++
实例
下面是一个实际的应用场景,使用 Iterator 来遍历 HashMap 中的键值对并输出:
javaCopy Codeimport java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
public class Test {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("Java", 1);
map.put("Python", 2);
map.put("C++", 3);
Iterator<Entry<String, Integer>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Entry<String, Integer> entry = iterator.next();
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
运行结果为:
Copy CodeJava: 1
Python: 2
C++: 3