Skip to content

Latest commit

 

History

History
82 lines (57 loc) · 2.49 KB

File metadata and controls

82 lines (57 loc) · 2.49 KB

Java Iterator接口

原文: https://www.programiz.com/java-programming/iterator

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

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

The Listiterator interface extends the Java Iterator interface.

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


迭代器的方法

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

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

示例:迭代器的实现

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

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

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

        // Creating an instance of Iterator
        Iterator<Integer> iterate = numbers.iterator();

        // Using the next() method
        int number = iterate.next();
        System.out.println("Accessed Element: " + number);

        // Using the remove() method
        iterate.remove();
        System.out.println("Removed Element: " + number);

        System.out.print("Updated ArrayList: ");

        // Using the hasNext() method
        while(iterate.hasNext()) {
            // Using the forEachRemaining() method
            iterate.forEachRemaining((value) -> System.out.print(value + ", "));
        }
    }
} 

输出

ArrayList: [1, 3, 2]
Acessed Element: 1
Removed Element: 1
Updated ArrayList: 3, 2, 

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

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

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

现在,该方法将打印ArrayList中的所有其余元素。