您的位置:首页 > 其它

for遍历list删除出错

2015-10-28 19:03 387 查看
import java.util.ArrayList;

public class Test2
{
public static void main(String[] args)
throws InterruptedException
{
ArrayList<A> list = new ArrayList<A>();
A a1 = new A(1, "a1");
A a2 = new A(2, "a2");
A a3 = new A(3, "a3");
list.add(a1);
list.add(a2);
list.add(a3);
System.out.println(list);
for (A a : list)
{
if (a.name.equals("a2"))
{
list.remove(a);
}
}
System.out.println(list);
}
}

class A
{
int id;

String name;

public A(int id, String name)
{
super();
this.id = id;
this.name = name;
}

}


执行结果:

1.



2.



3.



所以涉及删除list等的时候不要使用for循环的两种方法,而应该使用迭代

Iterator<A> it=list.iterator();
while(it.hasNext())
{
A a=it.next();
if(a.name.equals("a3"))
{
it.remove();
}
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  遍历