//列表迭代器
private class ListItr implements ListIterator<E> {
//迭代器最近一次返回的节点
private Node<E> lastReturned;
//迭代器即将要返回的节点
private Node<E> next;
//迭代器即将要返回的节点的索引
private int nextIndex;
//通过内部类变量expectedModCount
//保存外部类变量modCount的值
//以此保证外部类与内部类的快速失
//败机制的同步,在内部类方法执行的时候
//modCount如果改变,那么必然与expectedModCount
//的值不等,直接触发快速失败机制
private int expectedModCount = modCount;
//构造方法,创建一个从指定索引
//index开始的迭代器
ListItr(int index) {
//如果index==size,则next为null
//因为索引size处没有节点
//否则,next是索引值为index的节点
//参考LinkedList的方法node(int index)
next = (index == size) ? null : node(index);
//初始化变量nextIndex,索引为index
//的节点就是即将要返回的节点
nextIndex = index;
}
//很多人会认为这里是判断
//是否有下一个节点,实际上不是
//这个方法就是判断nextIndex