A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小石姐姐 于 2017-11-29 20:33 编辑

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



1 个回复

正序浏览
棒棒的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马