从通用的arraylist中删除项目元素

我有一个通用的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();
    }
}

你也可以使用倒序的方式进行遍历删除