Java中List删除元素
删除方式总览
- for循环顺序遍历删除
- for循环反向遍历删除
- CopyOnWriteArrayList遍历删除
- 使用Iterator迭代器删除
- 使用lambda表达式删除列表元素(推荐)
- 使用方法引用删除列表元素
for循环顺序遍历删除
for(int i = 0, len = list.size(); i < len; i++){
if(list.get(i) == 1){
list.remove(i);
len--;
i--;
}
}
for循环反向遍历删除
for(int i = size - 1; i >= 0; i--){
String item = list.get(i);
if(target.equals(item)){
list.remove(item);
}
}
CopyOnWriteArrayList遍历删除
CopyOnWriteArrayList<String> cowList = new CopyOnWriteArrayList<String>(list);
for (String item : cowList) {
if (item.equals("1")) {
cowList.remove(item);
}
}
使用Iterator迭代器删除
Iterator<Integer> iterator = list.iterator();
while(iterator.hasNext()){
int i = iterator.next();
if(i == 1){
iterator.remove();
}
}
使用lambda表达式删除列表元素(推荐)
list.removeIf(a -> "1".equal(a));
使用方法引用删除列表元素
public static Boolean removeA(String s) {
return "a".equals(s);
}
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.removeIf(AccountOperationController::removeA);
}