在本教程中,我们将通过一个示例来学习Java Iterator接口。
Java集合框架的Iterator接口允许我们访问集合的元素。它有一个子接口ListIterator。
所有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.put.print(value + ", "));
在这里,我们将lambda表达式作为forEachRemaining()方法的参数传递。
现在,该方法将打印数组列表中的所有其余元素。