java arraylist的remove和iterator遍历问题
请教各位了啊
写了个最简单的arraylist测试
List<String> test = new ArrayList<String>();
test.add("aaa");
test.add("bbb");
test.add("ccc");
test.add("ddd");
test.add("eee");
Iterator it = test.iterator();
while (it.hasNext())
{
String tmp = (String)it.next();
System.out.println(tmp);
if(tmp.equals("ddd")) //如果相等需要做处理
{
//........做处理,做完后需要在在list中再添加一个
test.add("fffff");
//需要把原来的ddd删除 这个地方报错啊
it.remove();
test.remove(it.hasNext());
}
}
System.out.println("xxxxxxxxxxx");
Iterator it1 = test.iterator();
while (it1.hasNext())
{
System.out.println(it1.next()); //希望再次输出是 aaa bbb ccc eee ffff
}
怎么用list的循环操作
------解决方案--------------------
Java code
List <String> test = new ArrayList <String>();
test.add("aaa");
test.add("bbb");
test.add("ccc");
test.add("ddd");
test.add("eee");
for(int i=0;i<test.size();i++){
String tmp = (String)test.get(i);
if(tmp.equals("ddd")){
test.add("fffff");
test.remove(tmp);
}
}
System.out.println(test);