E
- 集合元素类型public class CollectionOperation<E> extends Object
Constructor and Description |
---|
CollectionOperation(Collection<? extends E>[] colls)
构造
|
Modifier and Type | Method and Description |
---|---|
Collection<E> |
disjunction()
多个集合的差集
针对一个集合中存在多个相同元素的情况,计算每两个集合中此元素的个数,保留两个集合中此元素个数差的个数 例如: disjunction([a, b, c, c, c], [a, b, c, c]) -》 [c] disjunction([a, b], []) -》 [a, b] disjunction([a, b, c], [b, c, d]) -》 [a, d] 任意一个集合为空,返回另一个集合 两个集合无差集则返回空集合 |
Collection<E> |
intersection()
多个集合的交集
针对一个集合中存在多个相同元素的情况,计算两个集合中此元素的个数,保留最少的个数 例如:集合1:[a, b, c, c, c],集合2:[a, b, c, c] 结果:[a, b, c, c],此结果中只保留了两个c |
Set<E> |
intersectionDistinct()
多个集合的唯一交集
针对一个集合中存在多个相同元素的情况,只保留一个 例如:集合1:[a, b, c, c, c],集合2:[a, b, c, c] 结果:[a, b, c],此结果中只保留了一个c |
static <E> CollectionOperation<E> |
of(Collection<? extends E>... colls)
创建运算对象
|
List<E> |
subtract()
计算集合的单差集,即只返回【集合1】中有,但是【集合2】、【集合3】...中没有的元素,例如:
subtract([1,2,3,4],[2,3,4,5]) -》 [1]
|
Collection<E> |
union()
多个集合的并集
针对一个集合中存在多个相同元素的情况,计算两个集合中此元素的个数,保留最多的个数 例如:集合1:[a, b, c, c, c],集合2:[a, b, c, c] 结果:[a, b, c, c, c],此结果中只保留了三个c |
List<E> |
unionAll()
多个集合的完全并集,类似于SQL中的“UNION ALL”
针对一个集合中存在多个相同元素的情况,保留全部元素 例如:集合1:[a, b, c, c, c],集合2:[a, b, c, c] 结果:[a, b, c, c, c, a, b, c, c] |
Set<E> |
unionDistinct()
多个集合的非重复并集,类似于SQL中的“UNION DISTINCT”
针对一个集合中存在多个相同元素的情况,只保留一个 例如:集合1:[a, b, c, c, c],集合2:[a, b, c, c] 结果:[a, b, c],此结果中只保留了一个c |
public CollectionOperation(Collection<? extends E>[] colls)
colls
- 集合数组@SafeVarargs public static <E> CollectionOperation<E> of(Collection<? extends E>... colls)
E
- 元素类型colls
- 集合列表public Collection<E> union()
ArrayList
public Set<E> unionDistinct()
LinkedHashSet
public List<E> unionAll()
ArrayList
public Collection<E> intersection()
ArrayList
public Set<E> intersectionDistinct()
LinkedHashSet
public Collection<E> disjunction()
disjunction([a, b, c, c, c], [a, b, c, c]) -》 [c] disjunction([a, b], []) -》 [a, b] disjunction([a, b, c], [b, c, d]) -》 [a, d]任意一个集合为空,返回另一个集合
ArrayList
Copyright © 2025. All rights reserved.