Java 迭代接口:Iterator、ListIterator 和 Spliterator
1. 简介 当我们使用 for 或 while 循环来遍历一个集合的元素, Iterator 允许我们不用担心索引位置,甚至让我们不仅仅是遍历一个集合,同时还可以改变它。例如,你如果要删除循环中的元素,那么 for 循环不见得总是可行的。 结合自定义的迭代器,我们可以迭代更为复杂的对象,以及向前和向后移动,并且知晓如何利用其优势也将变得非常清楚。 本文将深入讨论如何使用 Iterator 和 Iterable 接口。 2. Iterator() Iterator 接口用于迭代集合中的元素( List , Set 或 Map )。它用于逐个检索元素,并在需要时针对每个元素执行操作。 下面是用于遍历集合与执行操作的方法: .hasNext() :如果还没有到达集合的末尾,则返回 true ,否则返回 false .next() :返回集合中的下一个元素 .remove() :从集合中移除迭代器返回的最后一个元素 .forEachRemaining() :按顺序为集合中剩下的每个元素执行给定的操作 首先,由于迭代器是用于集合的,让我们做一个简单的包含几个元素的 ArrayList : List<string> avengers = new ArrayList<>(); // Now lets add some Avengers to the list avengers.add("Ant