List集合继承自collection接口,他自己也是个接口,没有具体的结构,与Set集合不同,List集合允许重复的元素。
List集合特有方法:(Collection中没有这些)
这些在Arralist部分学习过。
List特有的列表迭代器:ListIterator
继承自Iterator,可以直接使用Iterator的迭代方法haxNext和next,ListIterator允许向后向前两个方向遍历
hasNext()——hasPervious()
next()——pervious()
注意,当想要反向遍历的时候,需要使用ListIterator的含参构造方法ListIterator(list.size()),这样会让
最后一个位置为首端,从尾向头遍历。
add(E e)将指定元素插入列表
注意这里是迭代器调用add方法
并发修改异常中出现的问题这里不会出现,因为这里add方法内部是有modCount赋值给expectedmodCount的。
所以利用迭代器的add方法不会导致并发修改异常。
增强型for循环
怎么证明它内部是迭代器Iterator呢?
通过list的add方法使Iterator出现并发修改异常,就可以证明是迭代器了。