黑马程序员技术交流社区
标题:
在迭代的过程中能否添加元素
[打印本页]
作者:
耿渊博
时间:
2014-3-31 16:33
标题:
在迭代的过程中能否添加元素
本帖最后由 耿渊博 于 2014-4-2 21:43 编辑
在迭代的过程中我想修改元素,编译没有报错,但是运行的时候报错,为什么?
package com.Thread;
import java.util.*;
public class ListDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList a1 = new ArrayList();
//添加元素
a1.add("java01");
a1.add("java02");
a1.add("java03");
a1.add("java04");
//在迭代的过程中添加元素
Iterator it = a1.iterator();
while(it.hasNext()){
Object obj = it.next();
if(obj.equals("java02")){
a1.add("java007");
}
sop("obj= "+obj);
}
}
public static void sop(Object obj){
System.out.println(obj);
}
}
复制代码
作者:
osully
时间:
2014-3-31 16:34
Iterator 迭代只能remove
listIterator 可以 增删改查 强大无比
作者:
lazy_xia
时间:
2014-3-31 16:35
你好!Iterator 不能修改数据的 不过你换成ArrayList 的ListIterator 这个可以用来迭代并修改数据 你可以试下
作者:
一诺千金
时间:
2014-3-31 16:41
Iterator 迭代过程中不能对元素进行曾改查,原因是会发生操作冲突,他会不知道自己要操作的下一个元素是什么了只能remove
List特有的迭代器ListIterator 可以 增删改查
作者:
papercup
时间:
2014-3-31 16:43
迭代器和集合不可以并行操作,在操作迭代器的时候不能操作集合。只能用迭代其中的方法进行操作。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2