Java 菜鸟教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java 异常处理

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java Iterator 接口

在本教程中,我们将通过一个示例来学习Java Iterator接口。

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.put.print(value + ", "));

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

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