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();
}
}