Java 取两个集合差集
引言
在日常开发中,我们经常需要对集合进行操作,其中一种常见的操作是取两个集合的差集。本文将介绍如何使用 Java 来实现取差集的操作,并提供相应的代码示例。
差集操作
差集操作是指从一个集合中删除另一个集合中相同的元素,得到两个集合的不同元素组成的集合。在 Java 中,我们可以使用 retainAll()
和 removeAll()
方法来实现这个操作。
retainAll()
retainAll()
方法用于从一个集合中保留与另一个集合相同的元素。它将修改原始集合,只保留两个集合中都存在的元素。
示例代码如下:
Set<Integer> set1 = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5));
Set<Integer> set2 = new HashSet<>(Arrays.asList(4, 5, 6, 7, 8));
set1.retainAll(set2);
System.out.println(set1); // 输出 [4, 5]
上述代码中,我们定义了两个 Set
集合 set1
和 set2
,分别初始化了一些整数。然后我们调用了 retainAll()
方法,并打印结果。最终输出的结果是 set1
中保留了两个集合中都存在的元素 4 和 5。
removeAll()
removeAll()
方法用于从一个集合中删除与另一个集合相同的元素。它将修改原始集合,删除两个集合中相同的元素。
示例代码如下:
Set<Integer> set1 = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5));
Set<Integer> set2 = new HashSet<>(Arrays.asList(4, 5, 6, 7, 8));
set1.removeAll(set2);
System.out.println(set1); // 输出 [1, 2, 3]
上述代码中,我们同样定义了两个 Set
集合 set1
和 set2
,分别初始化了一些整数。然后我们调用了 removeAll()
方法,并打印结果。最终输出的结果是 set1
中删除了两个集合中相同的元素 4 和 5,剩下的元素为 1、2 和 3。
类图
下面是本文示例代码中所使用的类图:
classDiagram
class Set<T>
Set "1" --> "*" T
Set "1" <-- "*" T
总结
本文介绍了如何使用 Java 实现取两个集合差集的操作,并提供了相应的代码示例。通过使用 retainAll()
和 removeAll()
方法,我们可以方便地对集合进行差集操作。希望本文对你理解集合的差集操作有所帮助。
参考文献
- [Java Set Documentation](