Java Iterator(迭代器)不是一个集合,它是一种用于访问集合的方法,可用于迭代 ArrayList 和 HashSet 等集合。
it.hasnext( ):查看是否有下一个元素。
it.next( ):返回迭代的下一个元素,更新迭代器状态。
这些都不是重点,重点是老师上课时自己设计了一个MyIterator,功能与原来的迭代器略有不同。
其中MyIterator遍历的不再是所有元素,而是第一次访问List中的第1个元素,第n次访问第n个元素。
似乎听起来没什么不同。
看个例子:
其中subjects集合中有6.01,6.02,6.03
运行之后的结果是6.02
因为ArrayList每次remove都会将编号重置。
java迭代器Iterator遍历的是ArrayList中的所有值,因此第一次遍历取到6.01,第二次取到6.02,第三次取到6.03.
如果像MyIterator分析的那样,输出结果应该为12,2,23.