多语言展示
当前在线:1332今日阅读:19今日分享:20

你能找到两个Set的交点吗?

你能找到两个Set的交点吗?
工具/原料
1

guava

2

IntelliJ IDEA

方法/步骤
1

令人惊讶的是,许多操作你希望看到在设置界面没有:没有明确的方式在处理集执行联盟,减法,无需修改或差异提供集。

2

Collection接口提供了addAll方法进行结合,removeAll差异,retainAll交集。所有这些方法都会修改调用方法的集合。

3

另一种方法是使用来自Guava的sets类。这是一个具有多个用于操作集的静态方法的类。

4

下图显示了如何使用它。

5

union、difference和intersection 方法都返回一个SetView对象,该对象依赖于底层集合。

6

SetView有一个方法,可以返回满足该SetView需求的不可变元素集。SetView是集合上的一个视图,因此如果底层集合发生变化,SetView的属性也可能发生变化。

7

上面示例代码中的交集调用所发生的情况:在交集调用之后,向set2对象添加了另一个元素,该值位于set1中,因此它将在两个集合的交集中返回。

8

核心Java集合接口的实用程序类包括映射、集和列表,Guava接口的实用程序类包括多集和多进程。

推荐信息