public class CollStreamUtil extends Object
Constructor and Description |
---|
CollStreamUtil() |
Modifier and Type | Method and Description |
---|---|
static <E,T,U> Map<T,Map<U,E>> |
group2Map(Collection<E> collection,
Function<E,T> key1,
Function<E,U> key2)
将collection按照两个规则(比如有相同的年级id,班级id)分组成双层map
Collection<E> ---> Map<T,Map<U,E>> |
static <E,T,U> Map<T,Map<U,E>> |
group2Map(Collection<E> collection,
Function<E,T> key1,
Function<E,U> key2,
boolean isParallel)
将collection按照两个规则(比如有相同的年级id,班级id)分组成双层map
Collection<E> ---> Map<T,Map<U,E>> |
static <E,K,D> Map<K,D> |
groupBy(Collection<E> collection,
Function<E,K> key,
Collector<E,?,D> downstream)
作为所有groupingBy的公共方法,更接近于原生,灵活性更强
|
static <E,K,D> Map<K,D> |
groupBy(Collection<E> collection,
Function<E,K> key,
Collector<E,?,D> downstream,
boolean isParallel)
作为所有groupingBy的公共方法,更接近于原生,灵活性更强
|
static <E,K,U> Map<K,Map<U,List<E>>> |
groupBy2Key(Collection<E> collection,
Function<E,K> key1,
Function<E,U> key2)
将collection按照两个规则(比如有相同的年级id,班级id)分组成双层map
Collection<E> ---> Map<T,Map<U,List<E>>> |
static <E,K,U> Map<K,Map<U,List<E>>> |
groupBy2Key(Collection<E> collection,
Function<E,K> key1,
Function<E,U> key2,
boolean isParallel)
将collection按照两个规则(比如有相同的年级id,班级id)分组成双层map
Collection<E> ---> Map<T,Map<U,List<E>>> |
static <E,K> Map<K,List<E>> |
groupByKey(Collection<E> collection,
Function<E,K> key)
将collection按照规则(比如有相同的班级id)分组成map
Collection<E> -------> Map<K,List<E>> |
static <E,K> Map<K,List<E>> |
groupByKey(Collection<E> collection,
Function<E,K> key,
boolean isParallel)
将collection按照规则(比如有相同的班级id)分组成map
Collection<E> -------> Map<K,List<E>> |
static <E,K,V> Map<K,List<V>> |
groupKeyValue(Collection<E> collection,
Function<E,K> key,
Function<E,V> value)
将collection按照规则(比如有相同的班级id)分组成map,map中的key为班级id,value为班级名
Collection<E> -------> Map<K,List<V>> |
static <E,K,V> Map<K,List<V>> |
groupKeyValue(Collection<E> collection,
Function<E,K> key,
Function<E,V> value,
boolean isParallel)
将collection按照规则(比如有相同的班级id)分组成map,map中的key为班级id,value为班级名
Collection<E> -------> Map<K,List<V>> |
static <K,X,Y,V> Map<K,V> |
merge(Map<K,X> map1,
Map<K,Y> map2,
BiFunction<X,Y,V> merge)
合并两个相同key类型的map
|
static <V,K> Map<K,V> |
toIdentityMap(Collection<V> collection,
Function<V,K> key)
将collection转化为类型不变的map
Collection<V> ----> Map<K,V> |
static <V,K> Map<K,V> |
toIdentityMap(Collection<V> collection,
Function<V,K> key,
boolean isParallel)
将collection转化为类型不变的map
Collection<V> ----> Map<K,V> |
static <E,T> List<T> |
toList(Collection<E> collection,
Function<E,T> function)
将collection转化为List集合,但是两者的泛型不同
Collection<E> ------> List<T> |
static <E,T> List<T> |
toList(Collection<E> collection,
Function<E,T> function,
boolean isParallel)
将collection转化为List集合,但是两者的泛型不同
Collection<E> ------> List<T> |
static <E,K,V> Map<K,V> |
toMap(Collection<E> collection,
Function<E,K> key,
Function<E,V> value)
将Collection转化为map(value类型与collection的泛型不同)
Collection<E> -----> Map<K,V> |
static <E,K,V> Map<K,V> |
toMap(Collection<E> collection,
Function<E,K> key,
Function<E,V> value,
boolean isParallel) |
static <E,T> Set<T> |
toSet(Collection<E> collection,
Function<E,T> function)
将collection转化为Set集合,但是两者的泛型不同
Collection<E> ------> Set<T> |
static <E,T> Set<T> |
toSet(Collection<E> collection,
Function<E,T> function,
boolean isParallel)
将collection转化为Set集合,但是两者的泛型不同
Collection<E> ------> Set<T> |
public static <V,K> Map<K,V> toIdentityMap(Collection<V> collection, Function<V,K> key)
Collection<V> ----> Map<K,V>
V
- collection中的泛型K
- map中的key类型collection
- 需要转化的集合key
- V类型转化为K类型的lambda方法public static <V,K> Map<K,V> toIdentityMap(Collection<V> collection, Function<V,K> key, boolean isParallel)
Collection<V> ----> Map<K,V>
V
- collection中的泛型K
- map中的key类型collection
- 需要转化的集合key
- V类型转化为K类型的lambda方法isParallel
- 是否并行流public static <E,K,V> Map<K,V> toMap(Collection<E> collection, Function<E,K> key, Function<E,V> value)
Collection<E> -----> Map<K,V>
E
- collection中的泛型K
- map中的key类型V
- map中的value类型collection
- 需要转化的集合key
- E类型转化为K类型的lambda方法value
- E类型转化为V类型的lambda方法public static <E,K,V> Map<K,V> toMap(Collection<E> collection, Function<E,K> key, Function<E,V> value, boolean isParallel)
E
- collection中的泛型K
- map中的key类型V
- map中的value类型collection
- 需要转化的集合key
- E类型转化为K类型的lambda方法value
- E类型转化为V类型的lambda方法isParallel
- 是否并行流public static <E,K> Map<K,List<E>> groupByKey(Collection<E> collection, Function<E,K> key)
Collection<E> -------> Map<K,List<E>>
E
- collection中的泛型K
- map中的key类型collection
- 需要分组的集合key
- 分组的规则public static <E,K> Map<K,List<E>> groupByKey(Collection<E> collection, Function<E,K> key, boolean isParallel)
Collection<E> -------> Map<K,List<E>>
E
- collection中的泛型K
- map中的key类型collection
- 需要分组的集合key
- 键分组的规则isParallel
- 是否并行流public static <E,K,U> Map<K,Map<U,List<E>>> groupBy2Key(Collection<E> collection, Function<E,K> key1, Function<E,U> key2)
Collection<E> ---> Map<T,Map<U,List<E>>>
E
- 集合元素类型K
- 第一个map中的key类型U
- 第二个map中的key类型collection
- 需要分组的集合key1
- 第一个分组的规则key2
- 第二个分组的规则public static <E,K,U> Map<K,Map<U,List<E>>> groupBy2Key(Collection<E> collection, Function<E,K> key1, Function<E,U> key2, boolean isParallel)
Collection<E> ---> Map<T,Map<U,List<E>>>
E
- 集合元素类型K
- 第一个map中的key类型U
- 第二个map中的key类型collection
- 需要分组的集合key1
- 第一个分组的规则key2
- 第二个分组的规则isParallel
- 是否并行流public static <E,T,U> Map<T,Map<U,E>> group2Map(Collection<E> collection, Function<E,T> key1, Function<E,U> key2)
Collection<E> ---> Map<T,Map<U,E>>
T
- 第一个map中的key类型U
- 第二个map中的key类型E
- collection中的泛型collection
- 需要分组的集合key1
- 第一个分组的规则key2
- 第二个分组的规则public static <E,T,U> Map<T,Map<U,E>> group2Map(Collection<E> collection, Function<E,T> key1, Function<E,U> key2, boolean isParallel)
Collection<E> ---> Map<T,Map<U,E>>
T
- 第一个map中的key类型U
- 第二个map中的key类型E
- collection中的泛型collection
- 需要分组的集合key1
- 第一个分组的规则key2
- 第二个分组的规则isParallel
- 是否并行流public static <E,K,V> Map<K,List<V>> groupKeyValue(Collection<E> collection, Function<E,K> key, Function<E,V> value)
Collection<E> -------> Map<K,List<V>>
E
- collection中的泛型K
- map中的key类型V
- List中的value类型collection
- 需要分组的集合key
- 键分组的规则value
- 值分组的规则public static <E,K,V> Map<K,List<V>> groupKeyValue(Collection<E> collection, Function<E,K> key, Function<E,V> value, boolean isParallel)
Collection<E> -------> Map<K,List<V>>
E
- collection中的泛型K
- map中的key类型V
- List中的value类型collection
- 需要分组的集合key
- 键分组的规则value
- 值分组的规则isParallel
- 是否并行流public static <E,K,D> Map<K,D> groupBy(Collection<E> collection, Function<E,K> key, Collector<E,?,D> downstream)
E
- collection中的泛型K
- map中的key类型D
- 后续操作的返回值collection
- 需要分组的集合key
- 第一次分组时需要的keydownstream
- 分组后需要进行的操作public static <E,K,D> Map<K,D> groupBy(Collection<E> collection, Function<E,K> key, Collector<E,?,D> downstream, boolean isParallel)
E
- collection中的泛型K
- map中的key类型D
- 后续操作的返回值collection
- 需要分组的集合key
- 第一次分组时需要的keydownstream
- 分组后需要进行的操作isParallel
- 是否并行流Collectors.groupingBy(Function, Collector)
public static <E,T> List<T> toList(Collection<E> collection, Function<E,T> function)
Collection<E> ------> List<T>
E
- collection中的泛型T
- List中的泛型collection
- 需要转化的集合function
- collection中的泛型转化为list泛型的lambda表达式public static <E,T> List<T> toList(Collection<E> collection, Function<E,T> function, boolean isParallel)
Collection<E> ------> List<T>
E
- collection中的泛型T
- List中的泛型collection
- 需要转化的集合function
- collection中的泛型转化为list泛型的lambda表达式isParallel
- 是否并行流public static <E,T> Set<T> toSet(Collection<E> collection, Function<E,T> function)
Collection<E> ------> Set<T>
E
- collection中的泛型T
- Set中的泛型collection
- 需要转化的集合function
- collection中的泛型转化为set泛型的lambda表达式public static <E,T> Set<T> toSet(Collection<E> collection, Function<E,T> function, boolean isParallel)
Collection<E> ------> Set<T>
E
- collection中的泛型T
- Set中的泛型collection
- 需要转化的集合function
- collection中的泛型转化为set泛型的lambda表达式isParallel
- 是否并行流public static <K,X,Y,V> Map<K,V> merge(Map<K,X> map1, Map<K,Y> map2, BiFunction<X,Y,V> merge)
K
- map中的key类型X
- 第一个 map的value类型Y
- 第二个 map的value类型V
- 最终map的value类型map1
- 第一个需要合并的 mapmap2
- 第二个需要合并的 mapmerge
- 合并的lambda,将key value1 value2合并成最终的类型,注意value可能为空的情况Copyright © 2024. All rights reserved.