目录
一、需求
删除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());
参考