java commons获取交集差集
时间: 2024-09-26 14:05:38 浏览: 30
在Java中,Apache Commons Lang库提供了一些方便的功能来处理集合操作,包括交集(Intersection)、差集(Difference)等。如果你想获取两个集合的交集,可以使用`Collections.disjoint()`方法检查它们是否互斥,然后结合`retainAll()`或`intersection()`方法来得到交集。
例如,假设你有两个List:
```java
import org.apache.commons.lang3.Collections3;
List<String> list1 = Arrays.asList("A", "B", "C");
List<String> list2 = Arrays.asList("B", "D", "E");
// 检查两个列表是否有交集
boolean isDisjoint = Collections.disjoint(list1, list2);
if (!isDisjoint) {
// 获取交集
List<String> intersection = new ArrayList<>(list1);
intersection.retainAll(list2); // 或者 Collections3.intersection(list1, list2)
System.out.println("交集: " + intersection);
}
// 获取差集,这里我们先获取并删除交集再计算
List<String> difference = new ArrayList<>(list1);
difference.removeAll(intersection); // 或者 Collections3.difference(list1, list2)
System.out.println("差集: " + difference);
```
请注意,如果你使用的是较旧版本的Apache Commons Lang,可能会需要其他类(如`CommonsCollectionsUtils`)来找到替代方法。
阅读全文