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