在开发的过程中,我们偶尔会遇到需要对集合进行高阶操作的场景。
如差集、并集、补集等,但 Java 本身并没有提供这些方法。
那我们要用的时候怎么办呢?
其实很多工具包都提供了现成的方法,
比如
apache
的
commons-lang3
工具包,
示例代码如下:
import org.apache.commons.collections4.CollectionUtils;
/**
* 有时候我们需要对已有的两个集合进行操作,比如取交集或者并集等。
*/
@SpringBootTest
public classMainApplicationTest {
@Test
publicvoidtestCompare() {
List<Integer> list = newArrayList<>();
list.add(2);
list.add(1);
list.add(3);
List<Integer> list2 = newArrayList<>();
list2.add(2);
list2.add(4);
//获取并集
Collection<Integer> unionList = CollectionUtils.union(list, list2);
System.out.println(unionList);
//获取交集
Collection<Integer> interpList = CollectionUtils.interp(list, list2);
System.out.println(interpList);
//获取交集的补集
Collection<Integer> disjunctionList = CollectionUtils.disjunction(list, list2);
System.out.println(disjunctionList);
//获取差集
Collection<Integer> subtractList = CollectionUtils.subtract(list, list2);
System.out.println(subtractList);
}
}
完整代码片段来源于代码小抄,欢迎点击进入小程序阅读!
在线访问:https://www.codecopy.cn/post/10zoqu
更多优质代码欢迎进入小程序查看!
往期推荐