// 错误
int size = list.size();
for(int i = 0; i < size; i++){
String item = list.get(i);
list.remove(item);
}
// 正确
int size = list.size();
for(int i = size - 1; i >= 0; i--){
String item = list.get(i);
list.remove(item);
}
// 错误
Iterator<String> iter = list.iterator();
while (iter.hasNext()) {
String item = iter.next();
list.remove(item);
}
// 正确
Iterator<String> iter = list.iterator();
while (iter.hasNext()) {
String item = iter.next();
iter.remove(item);
}
删除 List 中的元素要注意两个问题:
- 删除元素后 List 的元素数量会发生变化;
- 对 List 进行删除操作可能会产生并发问题;