記錄下,java中使用for循環遇到的問題
(錯誤示範:使用for循環刪除list集合)
for(int i=0;i<list.size();i++) {
if(list.get(i)!=0) {
list.remove(i);
}
}
錯誤的原因是每刪除list集合的一個元素,list的大小都在發生改變,從而導致索引也在發生改變,從而刪除的時候會漏過一些元素。
(正確示範:使用迭代器刪除list集合)
Iterator<Integer> it=list.iterator();
while(it.hasNext()) {
Integer m=it.next();
if(m!=0) {
it.remove();
}
}