Java Iterator 学习笔记

什么是 Iterator?

Iterator 是 Java 集合框架中的一种迭代器,可以用来遍历集合中的元素。它提供了一种统一的访问集合元素的方式,而不需要暴露集合的实现细节。

Iterator 接口方法

Iterator 接口提供了以下方法:

  • boolean hasNext():如果迭代具有更多元素,则返回 true。
  • Object next():返回迭代中的下一个元素。
  • void remove()(可选操作):从迭代器所表示的集合中移除上一个元素(可选操作)。

使用方法

使用 Iterator 前需要先通过集合的 iterator() 方法获取到 Iterator 对象。然后就可以使用 hasNext()next() 方法进行迭代。如果需要删除当前元素,可以使用 remove() 方法。

下面是一个简单的例子,演示如何使用 Iterator 遍历 ArrayList:

javaCopy Code
import 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 Code
Java Python C++

实例

下面是一个实际的应用场景,使用 Iterator 来遍历 HashMap 中的键值对并输出:

javaCopy Code
import 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 Code
Java: 1 Python: 2 C++: 3