登录
首页 >  文章 >  java教程

Java集合交集保留方法全解析

时间:2025-12-01 12:20:27 367浏览 收藏

对于一个文章开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《Java集合保留交集方法详解》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

retainAll方法用于保留两个集合的交集并修改原集合,返回是否发生修改。示例中list1.retainAll(list2)后仅保留共同元素3、4;Set操作同理,需注意元素的equals实现、null检查及List重复元素处理,使用时应先复制集合以保留原始数据。

Java中如何使用retainAll保留集合交集元素

在Java中,retainAll 方法用于保留当前集合与另一个集合的交集元素,即:只保留同时存在于两个集合中的元素。调用该方法后,原集合会被修改。

retainAll 基本语法

boolean retainAll(Collection> c)

该方法从调用集合中移除所有不在参数集合 c 中的元素。执行后,集合仅包含交集部分。如果集合发生修改,返回 true,否则返回 false

使用示例:List 保留交集

假设我们有两个 List 集合,想让第一个集合只保留和第二个集合共有的元素:

List list1 = new ArrayList(Arrays.asList(1, 2, 3, 4)); List list2 = new ArrayList(Arrays.asList(3, 4, 5, 6)); list1.retainAll(list2); System.out.println(list1); // 输出 [3, 4]

执行后,list1 被修改为仅包含 3 和 4,这两个元素是两个列表的交集。

使用 Set 进行高效交集操作

Set 天然去重,适合做交集运算。例如:

Set set1 = new HashSet(Arrays.asList("a", "b", "c")); Set set2 = new HashSet(Arrays.asList("b", "c", "d")); set1.retainAll(set2); System.out.println(set1); // 输出 [b, c]

结果中只保留了共同存在的元素。注意:HashSet 不保证顺序,如需有序可用 LinkedHashSet

注意事项

  • retainAll 会直接修改原集合,如需保留原始数据,应先复制集合。
  • 集合中的元素类型需正确实现 equals 方法,否则比较可能出错。
  • 传入的集合不能为 null,否则抛出 NullPointerException
  • 对于 List,重复元素可能影响结果。retainAll 会根据实际存在情况保留匹配项。

基本上就这些。retainAll 是求交集的便捷方式,适用于 List、Set 等常见集合类型,理解其修改原集合的特性很重要。

今天关于《Java集合交集保留方法全解析》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>