public List<String> list = Arrays.asList("张三", "李四", "王五", "老六", "李东", "李想", "苟八");
-
普通 for 循环删除(不可靠)
-
普通 for 循环提取变量删除(抛异常)
-
普通 for 循环倒序删除(可靠)
public void remove() {
List<String> list = new ArrayList(initList);
for (int i = list.size() - 1; i > 0; i--) {
String str = list.get(i);
if (str.startsWith("李")) {
list.remove(i);
}
}
System.out.println(list);
}
-
增强 for 循环删除(抛异常)
-
迭代器循环迭代器删除(可靠)
public void remove() {
List<String> list = new ArrayList(initList);
for (Iterator<String> iterator = list.iterator(); iterator.hasNext(); ) {
String str = iterator.next();
if (str.contains("李")) {
iterator.remove();
}
}
System.out.println(list);
}
-
迭代器循环集合删除(抛异常)
-
集合 forEach 方法循环删除(抛异常)
-
stream filter 过滤(可靠)
public void remove() {
List<String> list = new ArrayList(initList);
list = list.stream().filter(e -> !e.startsWith("李")).collect(Collectors.toList());
System.out.println(list);
}