本帖最后由 小石姐姐 于 2017-11-29 20:33 编辑
- 什么是并发?
- 修改: 指的是会改变集合长度的操作
- 增加元素
- 删除元素
- 清空元素
- list的set(int index, Object o)方法可以修改集合中某个索引处的元素值, 但并不会改变集合的长度, 所以不会发生并发修改异常
- 为什么会产生并发修改异常?
- ConcurrentModificationException, 迭代器依赖于集合, 相当于集合的一个副本, 当迭代器在操作时, 如果发现迭代器的副本和集合不一样, 则抛出并发修改异常
- 如何避免并发修改异常:
- 方式1: 不使用迭代器
- 方式2: 在使用迭代器遍历时, 使用迭代器的方法修改
- 添加元素:
- List接口中的ListIterator listIterator()获取用于List的迭代器, 然后调用ListIterator的add()方法
- 删除元素: remove()
- List接口
- 是Collection的子接口
- 叫做列表, 元素存取有序, 元素可以重复, 有索引
|
|