本帖最后由 爽亮前程 于 2014-11-25 22:15 编辑
同学你好:
你这样做会引起:ConcurrentModificationException 并发修改异常
原因为使用迭代器的过程中不可以对集合进行操作,具体原因可以查看源码:
你可以这样修改:
1:
- for (int x = 0; x < list.size(); x++) {
- String s = list.get(x);
- if ("hello".equals(s)) {
- list.add(x + 1, "word");
- }
- }
- System.out.println("list:" + list);
复制代码
2:
ListIterator it = list.listIterator();
while (it.hasNext()) {
String s = (String) it.next();
if ("hello".equals(s)) {
it.add("word");
}
}
System.out.println("list:" + list);
|