一、List遍历方式

1、Iterator迭代器遍历

在这里插入图片描述

2、ListIterator迭代器遍历

在这里插入图片描述

3、for循环和增强for遍历

在这里插入图片描述
增强for循环的内部原理是一个Iterator迭代器。

二、并发修改异常

1、异常原因

当使用iterator迭代器遍历集合时,向集合中添加元素会发生并发修改异常。
在这里插入图片描述
原因如下图,expectedModCount为预期修改集合次数,modCount 为实际修改集合次数。Itr类中初始状态时expectedModCount和modCount 相等,在调用其中next方法时会对两者进行判断。但是ArrayList中的add方法中每次添加一个元素,modCount 会自动加一。故导致在next方法中判断两者不相等,故出现并发修改异常。
在这里插入图片描述
在这里插入图片描述

2、异常解决办法

1.改成for循环遍历,用集合对象进行相应的操作
2.改成ListIterator迭代器,ListIterator可以直接往集合中添加元素,因为ListItr类中有add方法,而且在方法体中会将实际修改集合的次数赋值给预期修改值。

相关文章:

  • 2022-12-23
  • 2021-11-11
  • 2021-08-02
  • 2022-12-23
  • 2021-12-31
  • 2021-12-25
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-02-18
  • 2022-02-23
  • 2022-12-23
  • 2023-03-11
  • 2018-12-06
  • 2021-10-01
相关资源
相似解决方案