跳到主要内容

Java Iterator 接口

提示
  1. 基本作用Iterator 接口在 Java 集合框架中用于访问和遍历集合元素。
  2. 主要方法:提供 hasNext(), next(), remove(), 和 forEachRemaining() 方法来操作集合元素。
  3. 实际应用:迭代器用于集合操作,如访问、移除元素和执行集合的每个元素上的操作。

Java 集合框架的 Iterator 接口允许我们访问集合的元素。它有一个子接口 ListIterator

Listiterator 接口扩展了 Java Iterator 接口。

所有 Java 集合都包含一个 iterator() 方法。这个方法返回用于迭代集合元素的迭代器实例。

迭代器的方法

Iterator 接口提供了 4 个方法,可以用来对集合元素执行各种操作。

  • hasNext() - 如果集合中存在元素,则返回 true
  • next() - 返回集合的下一个元素
  • remove() - 删除由 next() 返回的最后一个元素
  • forEachRemaining() - 对集合的每个剩余元素执行指定的操作

示例:迭代器的实现

在下面的示例中,我们在数组列表中实现了 Iterator 接口的 hasNext()next()remove()forEachRemining() 方法。

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

class Main {
public static void main(String[] args) {
// 创建一个 ArrayList
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(3);
numbers.add(2);
System.out.println("ArrayList: " + numbers);

// 创建 Iterator 的实例
Iterator<Integer> iterate = numbers.iterator();

// 使用 next() 方法
int number = iterate.next();
System.out.println("访问到的元素: " + number);

// 使用 remove() 方法
iterate.remove();
System.out.println("移除的元素: " + number);

System.out.print("更新后的 ArrayList: ");

// 使用 hasNext() 方法
while(iterate.hasNext()) {
// 使用 forEachRemaining() 方法
iterate.forEachRemaining((value) -> System.out.print(value + ", "));
}
}
}

输出

ArrayList: [1, 3, 2]
访问到的元素: 1
移除的元素: 1
更新后的 ArrayList: 3, 2,

在上述示例中,请注意以下语句:

iterate.forEachRemaining((value) -> System.out.print(value + ", "));

这里,我们将 lambda 表达式 作为 forEachRemaining() 方法的参数传递。

现在该方法将打印数组列表的所有剩余元素。