网站首页 美食营养 游戏数码 手工爱好 生活家居 健康养生 运动户外 职场理财 情感交际 母婴教育 生活知识 知识问答

Java list remove element(Java集合删除元素)

时间:2026-02-14 18:19:18

1、首先要看你的List是怎么生成的,比如:

List<String> strList = Arrays.asList("a", "b", "aa", "ab", "ba");

这种方式生成的List是不能改变的(fixed size),具体可以参见源码。

Java list remove element(Java集合删除元素)

2、比如下面这种方式生成的List是可以改变的:

List<String> strList2 = new ArrayList<>();

strList2.add("a");

strList2.add("ab");

strList2.add("ac");

strList2.add("ad");

以下测试都采用这个List.

Java list remove element(Java集合删除元素)

3、Java 8之前的方法是通过迭代找到元素删除:

Iterator<String> iter = strList2.iterator();

while (iter.hasNext()) {

String tmp = iter.next();

if (tmp.equalsIgnoreCase("a")) {

iter.remove();

}

}

strList2.forEach(System.out::println);

可以看出这种代码比较多,但能满足要求。

Java list remove element(Java集合删除元素)

4、还有List最原始的remove方法:

boolean remove(Object o);

它可以直接删除指定的对象,但它不能用在一边遍历一边删除的情况,那样就会报错。

Java list remove element(Java集合删除元素)

5、接下来看看从Java 8 开始的删除:

1. removeIf方法

strList2.removeIf(s -> s.equals("a"));

strList2.forEach(System.out::println);

输出结果是相同的,代码简洁了许多吧。

Java list remove element(Java集合删除元素)

6、2. retainAll方法

List<String> strList = Arrays.asList("a", "b", "aa", "ab", "ba");

strList2.retainAll(strList);

它的作用是让strList2中只保留strList中也有数据,等于取两个集合的交集。

Java list remove element(Java集合删除元素)

7、3. filter方法

strList2 = strList2.stream().filter( s -> !s.equals("a")).collect(Collectors.toList());

将指定条件的元素过滤,再生成新的集合。

Java list remove element(Java集合删除元素)

© 2026 智德知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com