Java中的List集合 List集合特有方法:(Collection中没有这些) List特有的列表迭代器:ListIterator 增强型for循环

Java中的List集合
List集合特有方法:(Collection中没有这些)
List特有的列表迭代器:ListIterator
增强型for循环
List集合继承自collection接口,他自己也是个接口,没有具体的结构,与Set集合不同,List集合允许重复的元素。

这些在Arralist部分学习过。
Java中的List集合
List集合特有方法:(Collection中没有这些)
List特有的列表迭代器:ListIterator
增强型for循环
Java中的List集合
List集合特有方法:(Collection中没有这些)
List特有的列表迭代器:ListIterator
增强型for循环
Java中的List集合
List集合特有方法:(Collection中没有这些)
List特有的列表迭代器:ListIterator
增强型for循环

List特有的列表迭代器:ListIterator

继承自Iterator,可以直接使用Iterator的迭代方法haxNext和next,ListIterator允许向后向前两个方向遍历
Java中的List集合
List集合特有方法:(Collection中没有这些)
List特有的列表迭代器:ListIterator
增强型for循环

hasNext()——hasPervious()
next()——pervious()

注意,当想要反向遍历的时候,需要使用ListIterator的含参构造方法ListIterator(list.size()),这样会让
最后一个位置为首端,从尾向头遍历。
Java中的List集合
List集合特有方法:(Collection中没有这些)
List特有的列表迭代器:ListIterator
增强型for循环

add(E e)将指定元素插入列表
注意这里是迭代器调用add方法
Java中的List集合
List集合特有方法:(Collection中没有这些)
List特有的列表迭代器:ListIterator
增强型for循环
并发修改异常中出现的问题这里不会出现,因为这里add方法内部是有modCount赋值给expectedmodCount的。
Java中的List集合
List集合特有方法:(Collection中没有这些)
List特有的列表迭代器:ListIterator
增强型for循环
所以利用迭代器的add方法不会导致并发修改异常。

增强型for循环

Java中的List集合
List集合特有方法:(Collection中没有这些)
List特有的列表迭代器:ListIterator
增强型for循环
怎么证明它内部是迭代器Iterator呢?
通过list的add方法使Iterator出现并发修改异常,就可以证明是迭代器了。
Java中的List集合
List集合特有方法:(Collection中没有这些)
List特有的列表迭代器:ListIterator
增强型for循环