我有一个通用的arraylist对象,在这里我想要删除一些元素。问题是当我用for循环迭代列表时,却不能做一个remove()' s的简单序列,因为元素在每次移除后都会发生变化。怎么在通用的arraylist中删除项目元素?
使用Iterator移除元素
如:
Iterator itr = list.iterator();
String strElement = "";
while(itr.hasNext()){
strElement = (String)itr.next();
if(strElement.equals("2"))
{
itr.remove();
}
创建一个单独的ArrayList数据索引,以脱离原来的ArrayList,然后通过for循环遍历删除那些元素。
ArrayList<Myobj> arr = new ArrayList<Myobj>();
for (Myobj o : arr){
arr.remove(arr.indexOf(o))
}
如果在ArrayList中有你想要删除的对像,你要使用:
mArrayList.remove(object);
或者使用 Iterator来删除对象:
while(iterator.hasNext()){
if(iterator.next() == some condition for removal){
iterator.remove();
}
}
你也可以使用倒序的方式进行遍历删除