Java集合框架的Iterator
接口允许我们访问集合中的元素。它有一个子接口ListIterator
。
所有Java集合都包含一个iterator()
方法。此方法返回一个用于迭代集合元素的迭代器实例。
Iterator的方法
Iterator
接口提供了4个方法,可用于对集合元素执行各种操作。
hasNext()
- 如果集合中存在元素,则返回true
next()
- 返回集合的下一个元素remove()
- 删除由next()
返回的最后一个元素forEachRemaining()
- 对集合的每个剩余元素执行指定的操作
示例:Iterator的实现
在下面的示例中,我们在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()
方法的参数传递。
现在该方法将打印数组列表的所有剩余元素。