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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

求告知啊。好纠结啊

11 个回复

正序浏览
底层原理不知道,但是就是能在集合遍历的时候进行增删而不会报错,而且增加的元素都是在该元素的后一个
回复 使用道具 举报
使用list中特有的迭代器才能增删元素
回复 使用道具 举报
刘永川 来自手机 中级黑马 2016-9-11 23:52:21
10#
使用listiteragor迭代器  这个就不会出现并发异常
回复 使用道具 举报
wosika 来自手机 中级黑马 2016-9-11 23:48:59
9#
感谢大神的回复!学习了!
回复 使用道具 举报
并发修改异常: ConcurrentModificationException                         产生原因:                                 在遍历集合的同时,又通过集合的add()方法或者remove()添加或者删除集合中的元素,就会报并发修改异常。                         解决方案:                                 可以通过 ListIterator(列表迭代器来解决,但是注意:添加元素的时候                                  要使用列表迭代器的独有方式)                                 示例代码:                                         ListIterator<String> lit = list.listIterator();                                         while (lit.hasNext()) {                                                 String next = lit.next();                                                 if (next.equals("ab")) {                                                         //list.add("123");        //添加元素的时候不能使用集合的add()方法,而是使用列表迭代器的add()                                                         lit.add("123");                                                 }                                         }
回复 使用道具 举报
并发修改异常:
        就是你使用迭代器,同时又使用集合中的方法增删集合中元素

而出现的异常
回复 使用道具 举报
用list特有的迭代器就可以了
回复 使用道具 举报
使用迭代器本身的方法,而不是调用list集合的方法
回复 使用道具 举报
并发修改异常就是你再遍历集合的同时,对集合里的元素进行增加或删除...............解决办法就是你获取迭代器的时候要获取listIterator  就是list的迭代器 恩不是集合的迭代器  获取到List迭代器后,你再遍历集合的时候使用list的迭代器进行对元素的增加或删除就不会报并发修改异常了
回复 使用道具 举报
并发修改异常就是你再遍历集合的同时,对集合里的元素进行增加或删除
回复 使用道具 举报
wosika 来自手机 中级黑马 2016-9-11 19:36:31
沙发
有没有哪位大神解答解答?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马