Java集合刪除的方法
阿新 • • 發佈:2018-12-31
不能用for Each的方式刪除一個集合
public static void main(String[] args) {
List<String> list = new ArrayList();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
for (int i = 0; i < list.size(); i++) {
list.remove(i);
}
for (int i = 0; i < list.size(); i++) {
System.out.println(i+":"+list.get(i));
}
}
只能用迭代器的方式,他因為集合並沒有完全刪除,原來,集合刪除元素時,集合的size會變小,連帶索引都會改變。
public static void main(String[] args) {
List<String> list = new ArrayList();
list.add("a");
list.add("b");
list .add("c");
list.add("d");
Iterator lists = list.iterator();
while (lists.hasNext()) {
lists.next();
lists.remove();
}
for (int i = 0; i < list.size(); i++) {
System.out.println(i+":"+list.get(i));
}
}
同時如果相對集合中的元素做出修改,不用新建一個集合或者新建一個物件,直接在原來的集和中做出修改即可。
//advertiserDOList是一個集合
for(int a=0;a<advertiserDOList.size();a++){
advertiserDOList.get(a).setAllCostToday(new BigDecimal(0+a));
}
Iterator it = advertiserDOList.iterator();
int num =1;
while(it.hasNext()) {
System.out.println(num+" "+it.next()+" 前面的是");
num++;
}