1、Iterator接口允许返回非常大的数据;
2、使用java的list、set返回大量数据就需要大量堆内存;
5、ArrayList 的Iterator 实现:
private class Itr implements Iterator{//内部类 //do something }
(1) Itr 内部定义了三个 int 型的变量:cursor、lastRet、expectedModCount;
(2) cursor 表示下一个元素的索引位置,lastRet 表示上一个元素的索引位置;
(3)modCount 用于记录 ArrayList 集合的修改次数;
(4)expectedModCount预期被修改的次数;
6、在java中,遍历并删除List中的元素,通常使用以下代码:
(1)正确代码:
(2)错误代码:
(3)原因剖析:
7、ArrayList内部实现的Iterator:
(1) private class Itr implements Iterator<E>
Iteratorit=aList.iterator();
(2) private class ListItr extends Itr implements ListIterator<E>
- 实现方法更多,比如遍历时添加元素;
ListIteratorlistIt = aList.listIterator();