java---如何删除集合中的元素

来源:互联网 发布:淘宝网店售后服务简介 编辑:程序博客网 时间:2024/06/15 14:13

1、错误写法:

  public void operate(List list){      for(Iterator it = list.iterator(); it.hasNext();) {          String str = (String)it.next();          if(str.equals("chengang")){               list.remove(str);          }      }  }

因为list在循环中的时候是不可以删除它的元素的。


2、正确但笨拙的写法:

创建一个List专门存放要被删除的元素,循环过后,用List.removeAll方法把元素删除。

  public void operate(List list){      List removeList= new ArrayList();      for(Iterator it = list.iterator(); it.hasNext();) {          String str = (String)it.next();          if(str.equals("chengang")){              removeList.add(str);          }      }      list.removeAll(removeList);  }

3、正确且更简洁高效:

Iterator.remove方法

  for(Iterator it = list.iterator(); it.hasNext();) {      String str = (String)it.next();      if(str.equals("chengang")){          it.remove();      }  }

4、其他

反向遍历

    public void listOper(List list){          for(int i=list.size()-1;i>=0;i--){              list.remove(i);          }      }  


原文:ITeye  http://flycars001.iteye.com/blog/2031648


0 0
原创粉丝点击