(目录)
一、需求
删除list中的元素 Jack
模板代码
package com.example;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Demo {
public static void main(String[] args) {
List<String> list = new ArrayList<>(Arrays.asList("Tom", "Jack", "Steve"));
System.out.println(list);
// [Tom, Jack, Steve]
// 删除元素操作
System.out.println(list);
// [Tom, Steve]
}
}
二、循环删除元素
使用for循环倒序删除
int length = list.size();
// 下标范围 [0, length - 1]
for (int i = length - 1; i >= 0; i--) {
System.out.println(i);
if ("Jack".equals(list.get(i))) {
list.remove(i);
}
}
三、先查找,再删除
开发中,避免在循环中删除元素,采用的是先查找,再删除
,逻辑更清晰
// 先查找,再删除
int index = list.indexOf("Jack");
if (index > -1) {
list.remove(index);
}
四、使用removeIf
JDK1.8可以使用removeIf
// @since 1.8
list.removeIf(x -> "Jack".equals(x));
五、使用Stream.filter
// @since 1.8
list = list.stream()
.filter(x -> !"Jack".equals(x))
.collect(Collectors.toList());