myc_100
2012-10-25 03:31
采纳率: 72%
浏览 7.2k
已采纳

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

我有一个通用的arraylist对象,在这里我想要删除一些元素。问题是当我用for循环迭代列表时,却不能做一个remove()' s的简单序列,因为元素在每次移除后都会发生变化。怎么在通用的arraylist中删除项目元素?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • O_Casper_ne 2012-10-25 08:22
    已采纳

    使用Iterator移除元素

    如:

    Iterator itr = list.iterator();
        String strElement = "";
        while(itr.hasNext()){
    
          strElement = (String)itr.next();
          if(strElement.equals("2"))
          {
            itr.remove();
          }
    
    打赏 评论
  • znl_12 2012-10-25 09:33

    创建一个单独的ArrayList数据索引,以脱离原来的ArrayList,然后通过for循环遍历删除那些元素。

    ArrayList<Myobj> arr = new ArrayList<Myobj>();
        for (Myobj o : arr){
        arr.remove(arr.indexOf(o))
         }
    
    打赏 评论
  • Baby_Bonnie 2012-10-29 03:33

    如果在ArrayList中有你想要删除的对像,你要使用:

    mArrayList.remove(object);
    

    或者使用 Iterator来删除对象:

    while(iterator.hasNext()){
        if(iterator.next() == some condition for removal){
            iterator.remove();
        }
    }
    
    打赏 评论
  • wang_huanming 2015-05-21 10:03

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

    打赏 评论

相关推荐 更多相似问题