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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. * 并发修改异常的演示
  2. *         出现原因:         当方法检测到对象的并发修改时,但不允许这种修改时,抛出磁异常
  3. *                         迭代器是依赖于集合存在的,在迭代过程中,如果集合中添加了元素,而迭代器不知道,就会抛出该异常
  4. * 解决方案: 1 for循环  在结尾处添加元素,本次遍历可以遍历到新添加元素
  5. *                   2.ListIterator 中的add(E e) 方法,在标记的下一位置添加元素,本次迭代,迭代不到新添元素。
  6. */
  7. package list;

  8. import java.util.ArrayList;
  9. import java.util.List;
  10. import java.util.ListIterator;

  11. /**
  12. * @author 面具
  13. *
  14. */
  15. public class ListDemo {
  16.         public static void main(String[] args) {
  17. //                创建集合
  18.                 List list = new ArrayList();
  19. //                添加元素
  20.                 list.add("abc1");
  21.                 list.add("abc3");
  22.                 list.add(1,"abc2");
  23. //                迭代集合集合打印
  24.                 for (ListIterator iterator = list.listIterator(); iterator.hasNext();) {
  25.                         String s = (String) iterator.next();
  26.                         System.out.println(s);
  27.                         if(s.equals("abc1")){
  28.                                 iterator.add("桂纶镁");
  29.                         }
  30.                 }
  31.                 System.out.println("---------------------华丽的分割线----------");
  32. //                for循环遍历
  33.                 for(int i = 0 ; i<list.size(); i++){
  34.                         String s = (String)list.get(i);
  35.                         System.out.println(s);
  36.                         if(s.equals("abc2")){
  37.                                 list.add("高圆圆");
  38.                         }
  39.                 }
  40.         }
  41. }
复制代码

并发修改异常.png (2.6 KB, 下载次数: 63)

并发修改异常.png

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马