ArrayList如何刪除指定的幾個資料?,arraylist指定
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] 刪除乾淨了
}
}