ArrayList如何删除指定的几个数据?

来源:互联网 发布:java教程博客 编辑:程序博客网 时间:2024/04/29 20:53

import java.util.ArrayList;


public class tttt {
  public static void main(String[] args) {
 ArrayList<Integer> arrayList = new ArrayList<Integer>();
 ArrayList<Integer> arrayList2 = new ArrayList<Integer>();
 for (int i = 0; i < 10; i++) {
 arrayList.add(i);
 arrayList2.add(i);
 }
 
 
 
 for (int i = 0; i < arrayList.size(); i++) {
  Integer integer = arrayList.get(i);
  if(integer==3 || integer==4 || integer==5){
   arrayList.remove(integer);
  }
 }
 System.out.println(arrayList.toString());

[0, 1, 2, 4, 6, 7, 8, 9] 4还没删掉,没有删除干净,这样删的话!因为删掉3的时候,4就跑到3原来的位置,就躲避了遍历(3原先的位置遍历过了)

 

//应该这么删,把满足要求的数据放到另一个集合里,最后统一删除,就不会漏删了!!!!
 ArrayList<Integer> arrayList3 = new ArrayList<Integer>();
 
 for (int i = 0; i < arrayList2.size(); i++) {
  Integer integer = arrayList2.get(i);
  if(integer==3 || integer==4 || integer==5){
   //arrayList2.remove(integer);
   arrayList3.add(integer);
  }
  
 }
 arrayList2.removeAll(arrayList3);
 System.out.println(arrayList2.toString());

[0, 1, 2, 6, 7, 8, 9]  删除干净了

}
}

0 0
原创粉丝点击