public class DataTool extends Object
| 构造器和说明 |
|---|
DataTool() |
| 限定符和类型 | 方法和说明 |
|---|---|
static <K,T> DeduplicateResult<K,T> |
deduplicate(List<T> source,
java.util.function.Function<T,Boolean> isValidFunction,
java.util.function.Function<T,K> getDeduplicatedKeyFunction)
对集合数据进行去重器, 默认保留最后出现的重复元素
非线程安全
|
static <K,T> DeduplicateResult<K,T> |
deduplicate(List<T> source,
java.util.function.Function<T,Boolean> isValidFunction,
java.util.function.Function<T,K> getDeduplicatedKeyFunction,
boolean remainFirst)
对集合数据进行去重器
非线程安全
|
static <K,T> DeduplicateResult<K,T> |
deduplicate(List<T> source,
java.util.function.Function<T,K> getDeduplicatedKeyFunction)
对集合数据进行去重器, 默认保留最后出现的重复元素
非线程安全
|
static <K,T> DeduplicateResult<K,T> |
deduplicate(List<T> source,
java.util.function.Function<T,K> getDeduplicatedKeyFunction,
boolean remainFirst)
对集合数据进行去重器
非线程安全
|
static <K,T extends Enum<T>> |
enumContainsKey(K key,
Class<T> sourceEnumClass,
java.util.function.Function<T,K> keyMapper)
判断 key 是否存在于枚举转 map 的集合中
|
static <K,T extends Enum<T>> |
enumGetValue(K key,
Class<T> sourceEnumClass,
java.util.function.Function<T,K> keyMapper)
根据 key 获取对应的枚举实例
|
static <T extends Enum<T>,R> |
enumList(Class<T> sourceEnumClass,
java.util.function.Function<T,R> function)
枚举转 list 集合
按照 function 将枚举转成 list 集合
|
static <T extends Enum<T>> |
enumMap(Class<T> sourceEnumClass)
枚举转 map 集合
map 集合中的 key 为 Enum 的 name() 方法返回值
|
static <K,T extends Enum<T>> |
enumMap(Class<T> sourceEnumClass,
java.util.function.Function<T,K> keyMapper)
枚举转 map 集合
|
static <T> List<T> |
filter(List<T> source,
java.util.function.Predicate<? super T> filter)
将原始的 list 按照 filter 过滤
|
static <T> List<T> |
filter(T[] source,
java.util.function.Predicate<? super T> filter)
将原始的 list 按照 filter 过滤
|
static <M,K,T> T |
getDataFromList(M searchData,
java.util.function.Function<M,K> searchFunction,
List<T> sourceList,
java.util.function.Function<T,K> keyFunction)
根据 searchData 按照 searchFunction 规则从 sourceList 集合中搜索数据
|
static <T> T |
getFirstItem(List<T> list)
获取 list 集合中的第一个元素
|
static <T> T |
getLastItem(List<T> list)
获取 list 集合中的最后一个元素
|
static <S1,S2,K,R> |
getListFromBaseList(List<S1> sourceList,
java.util.function.Function<S1,K> sourceDataKeyFunction,
List<S2> baseList,
java.util.function.Function<S2,K> baseDataKeyFunction,
java.util.function.BiFunction<S1,S2,R> function)
从 sourceList 和 baseList 集合中按照 sourceDataKeyFunction 和 baseDataKeyFunction 匹配对应的数据
按照 function 生成结果集合
|
static <S1,S2,K,R> |
getListFromBaseList(List<S1> sourceList,
java.util.function.Function<S1,R> resultFunction,
java.util.function.Function<R,K> resultDataKeyFunction,
List<S2> baseList,
java.util.function.Function<S2,K> baseDataKeyFunction,
java.util.function.BiConsumer<R,List<S2>> consumer)
从 sourceList 按照 resultFunction 生成结果集合
结果集合 List1 和 List2 按照 resultDataKeyFunction 和 baseDataKeyFunction 匹配对应的数据
匹配到的 List 按照 consumer 规则供结果集使用
|
static <K,S> Map<K,List<S>> |
groupingBy(List<S> source,
java.util.function.Function<? super S,? extends K> classifier)
将 list 集合分组
|
static <K,S> Map<K,List<S>> |
groupingBy(List<S> source,
java.util.function.Predicate<S> filter,
java.util.function.Function<? super S,? extends K> classifier)
将过滤的 list 集合分组
|
static <K,T> Map<K,T> |
handleMap(Map<K,T> map,
java.util.function.BiConsumer<K,T> handlerMapper)
对原始 map 进行数据操作
|
static <K,V,R> List<R> |
mapToList(Map<K,V> map,
java.util.function.BiFunction<K,V,R> function)
遍历 map 元素并按照 function 转成 R 集合
|
static <K,V,R> List<R> |
mapToList(Map<K,V> map,
java.util.function.BiPredicate<K,V> predicate,
java.util.function.BiFunction<K,V,R> function)
遍历 map 元素,先按照 predicate 过滤再按照 function 转成 R 集合
|
static <K,V,R> List<R> |
mapValueToList(Map<K,V> map,
java.util.function.Function<V,R> function)
从 map 中获取 value 集合并根据 function 转成 R 集合
|
static <T> List<T> |
removeNull(List<? extends T> oldList)
去除 list 集合中的 null 元素进行
|
static <T> List<T> |
sort(List<T> source,
Comparator<T> comparator)
对 list 集合进行排序
|
static <T> List<T> |
sort(List<T> source,
Comparator<T> comparator,
boolean reverse)
对 list 集合进行排序
|
static <S,T> List<T> |
toList(List<S> source,
java.util.function.Function<? super S,? extends T> mapper)
将原始的 list 按照 mapper 规则转成新的 list
|
static <S,T> List<T> |
toList(List<S> source,
java.util.function.Function<? super S,? extends T> mapper,
boolean distinct)
将原始的 list 按照 mapper 规则转成新的 list
|
static <S,T> List<T> |
toList(List<S> source,
java.util.function.Predicate<S> filter,
java.util.function.Function<? super S,? extends T> mapper)
将原始的 list 按照 filter 过滤之后,按照 mapper 规则转成新的 list
|
static <S,T> List<T> |
toList(List<S> source,
java.util.function.Predicate<S> filter,
java.util.function.Function<? super S,? extends T> mapper,
boolean distinct)
将原始的 list 按照 filter 过滤之后,按照 mapper 规则转成新的 list
|
static <S,T> List<T> |
toList(S[] array,
java.util.function.Function<? super S,? extends T> mapper)
将原始的 array 按照 mapper 规则转成新的 list
|
static <S,T> List<T> |
toList(S[] source,
java.util.function.Predicate<S> filter,
java.util.function.Function<? super S,? extends T> mapper,
boolean distinct)
将原始的 list 按照 filter 过滤之后,按照 mapper 规则转成新的 list
|
static <K,T,R> List<R> |
toListByMap(Map<K,T> map,
java.util.function.BiFunction<K,T,R> function)
从 map 中遍历生成 list
|
static <K,T,R> List<R> |
toListByMap(Map<K,T> map,
java.util.function.BiPredicate<K,T> filterMapMapper,
java.util.function.BiFunction<K,T,R> function)
从过滤的 map 中遍历生成 list
|
static <S,T,K,V> List<T> |
toListWithMap(List<S> source,
Map<K,V> map,
java.util.function.Function<S,K> keyFunction,
java.util.function.BiFunction<S,V,T> mapContainKeyFunction)
list 遍历并匹配 map 中的元素,没有匹配到则丢弃
|
static <S,T,K,V> List<T> |
toListWithMap(List<S> source,
Map<K,V> map,
java.util.function.Function<S,K> keyFunction,
java.util.function.BiFunction<S,V,T> mapContainKeyFunction,
java.util.function.Function<S,T> function)
list 遍历并匹配 map 中的元素,没有匹配到不丢弃
|
static <K,S,T> Map<K,T> |
toMap(Collection<S> source,
java.util.function.Function<? super S,? extends K> keyMapper,
java.util.function.Function<? super S,? extends T> valueMapper,
java.util.function.BinaryOperator<T> mergeFunction)
list 转 map 集合
|
static <K,S> Map<K,S> |
toMap(List<S> source,
java.util.function.Function<? super S,? extends K> keyMapper)
list 转 map 集合
map 的 value 为集合元素本身
|
static <K,S> Map<K,S> |
toMap(List<S> source,
java.util.function.Function<? super S,? extends K> keyMapper,
java.util.function.BinaryOperator<S> mergeFunction)
list 转 map 集合
map 的 value 为集合元素本身
|
static <K,S,T> Map<K,T> |
toMap(List<S> source,
java.util.function.Function<? super S,? extends K> keyMapper,
java.util.function.Function<? super S,? extends T> valueMapper)
list 转 map 集合
|
static <K,S> Map<K,S> |
toMap(S[] source,
java.util.function.Function<? super S,? extends K> keyMapper)
数组 转 map 集合
map 的 value 为集合元素本身
|
static <K,S> Map<K,S> |
toMap(S[] source,
java.util.function.Function<? super S,? extends K> keyMapper,
java.util.function.BinaryOperator<S> mergeFunction)
数组 转 map 集合
map 的 value 为集合元素本身
|
static <K,S> Map<K,S> |
toMapForSaveNew(Collection<S> source,
java.util.function.Function<? super S,? extends K> keyMapper)
list 转 map 集合
map 的 value 为集合元素本身
如果出现 key 重复,则取前一个元素
|
static <K,S,T> Map<K,T> |
toMapForSaveNew(List<S> source,
java.util.function.Function<? super S,? extends K> keyMapper,
java.util.function.Function<? super S,? extends T> valueMapper)
list 转 map 集合
如果出现 key 重复,则取前一个元素
|
static <K,S> Map<K,S> |
toMapForSaveOld(List<S> source,
java.util.function.Function<? super S,? extends K> keyMapper)
list 转 map 集合
map 的 value 为集合元素本身
如果出现 key 重复,则取前一个元素
|
static <K,S,T> Map<K,T> |
toMapForSaveOld(List<S> source,
java.util.function.Function<? super S,? extends K> keyMapper,
java.util.function.Function<? super S,? extends T> valueMapper)
list 转 map 集合
如果出现 key 重复,则取前一个元素
|
static <S,T,K> Map<K,T> |
toMapFromList(List<S> source,
java.util.function.Function<? super S,? extends T> mapper,
java.util.function.Function<? super T,? extends K> keyMapper)
将原始的 list 按照 mapper 规则转成新的 list
再按照新的 list 按照 keyMapper 为生成 key 规则转成 map 集合
|
static <S,T> Set<T> |
toSet(List<S> source,
java.util.function.Function<? super S,? extends T> mapper)
list 转 set 集合
|
public static <S,T> Set<T> toSet(List<S> source, java.util.function.Function<? super S,? extends T> mapper)
S - 数据源集合中元素的类型T - set 集合中元素的类型source - 数据源集合mapper - 按照源数据的 mapper 规则生成 set 元素public static <K,S,T> Map<K,T> toMap(List<S> source, java.util.function.Function<? super S,? extends K> keyMapper, java.util.function.Function<? super S,? extends T> valueMapper)
K - map 集合中的 key 类型S - 数据源集合中元素的类型T - map 集合中的 value 类型source - 数据源集合keyMapper - map 集合中的 key 获取规则valueMapper - map 集合中的 value 获取规则public static <K,S,T> Map<K,T> toMap(Collection<S> source, java.util.function.Function<? super S,? extends K> keyMapper, java.util.function.Function<? super S,? extends T> valueMapper, java.util.function.BinaryOperator<T> mergeFunction)
K - map 集合中的 key 类型S - 数据源集合中元素的类型T - map 集合中的 value 类型source - 数据源集合keyMapper - map 集合中的 key 获取规则valueMapper - map 集合中的 value 获取规则mergeFunction - 存在相同 key 时取 value 的规则public static <K,S> Map<K,S> toMap(List<S> source, java.util.function.Function<? super S,? extends K> keyMapper)
K - map 集合中的 key 类型S - 数据源集合中元素的类型source - 数据源集合keyMapper - map 集合中的 key 获取规则public static <K,S> Map<K,S> toMap(S[] source, java.util.function.Function<? super S,? extends K> keyMapper)
K - map 集合中的 key 类型S - 数据源集合中元素的类型source - 数据源数组集合keyMapper - map 集合中的 key 获取规则public static <K,S> Map<K,S> toMap(S[] source, java.util.function.Function<? super S,? extends K> keyMapper, java.util.function.BinaryOperator<S> mergeFunction)
K - map 集合中的 key 类型S - 数据源集合中元素的类型source - 数据源数组集合keyMapper - map 集合中的 key 获取规则mergeFunction - 存在相同 key 时取 value 的规则public static <K,S> Map<K,S> toMap(List<S> source, java.util.function.Function<? super S,? extends K> keyMapper, java.util.function.BinaryOperator<S> mergeFunction)
K - map 集合中的 key 类型S - 数据源集合中元素的类型source - 数据源集合keyMapper - map 集合中的 key 获取规则mergeFunction - 存在相同 key 时取 value 的规则public static <S,T,K> Map<K,T> toMapFromList(List<S> source, java.util.function.Function<? super S,? extends T> mapper, java.util.function.Function<? super T,? extends K> keyMapper)
S - 数据源集合中元素的类型T - 目标数据的类型K - map 集合中的 key 类型source - 数据源集合mapper - list 转 map 的规则keyMapper - map 集合中的 key 获取规则public static <K,S> Map<K,S> toMapForSaveOld(List<S> source, java.util.function.Function<? super S,? extends K> keyMapper)
K - map 集合中的 key 类型S - 数据源集合中元素的类型source - 数据源集合keyMapper - map 集合中的 key 获取规则public static <K,S,T> Map<K,T> toMapForSaveOld(List<S> source, java.util.function.Function<? super S,? extends K> keyMapper, java.util.function.Function<? super S,? extends T> valueMapper)
K - map 集合中的 key 类型S - 数据源集合中元素的类型T - map 集合中的 value 类型source - 数据源集合keyMapper - map 集合中的 key 获取规则valueMapper - map 集合中的 value 获取规则public static <K,S> Map<K,S> toMapForSaveNew(Collection<S> source, java.util.function.Function<? super S,? extends K> keyMapper)
K - map 集合中的 key 类型S - 数据源集合中元素的类型source - 数据源集合keyMapper - map 集合中的 key 获取规则public static <K,S,T> Map<K,T> toMapForSaveNew(List<S> source, java.util.function.Function<? super S,? extends K> keyMapper, java.util.function.Function<? super S,? extends T> valueMapper)
K - map 集合中的 key 类型S - 数据源集合中元素的类型T - map 集合中的 value 类型source - 数据源集合keyMapper - map 集合中的 key 获取规则valueMapper - map 集合中的 value 获取规则public static <S,T> List<T> toList(List<S> source, java.util.function.Function<? super S,? extends T> mapper)
S - 源数据类型T - 目标数据类型source - 源数据集合mapper - 生成新的 list 接口规则public static <S,T> List<T> toList(S[] array, java.util.function.Function<? super S,? extends T> mapper)
S - 源数据类型T - 目标数据类型array - 源数据数组mapper - 生成新的 list 接口规则public static <S,T> List<T> toList(List<S> source, java.util.function.Function<? super S,? extends T> mapper, boolean distinct)
S - 源数据类型T - 目标数据类型source - 源数据集合mapper - 生成新的 list 接口规则distinct - 是否去重public static <S,T,K,V> List<T> toListWithMap(List<S> source, Map<K,V> map, java.util.function.Function<S,K> keyFunction, java.util.function.BiFunction<S,V,T> mapContainKeyFunction)
S - 源数据集合元素类型T - 目标数据集合元素类型K - map 集合的 key 类型V - map 集合的 value 类型source - 源数据集合map - mpa 集合keyFunction - 生成 key 的接口mapContainKeyFunction - 生成 list 的接口public static <S,T,K,V> List<T> toListWithMap(List<S> source, Map<K,V> map, java.util.function.Function<S,K> keyFunction, java.util.function.BiFunction<S,V,T> mapContainKeyFunction, java.util.function.Function<S,T> function)
S - 源数据集合元素类型T - 目标数据集合元素类型K - map 集合的 key 类型V - map 集合的 value 类型source - 源数据集合map - mpa 集合keyFunction - 生成 key 的接口mapContainKeyFunction - 生成 list 的接口function - 生成 list 的接口public static <S,T> List<T> toList(List<S> source, java.util.function.Predicate<S> filter, java.util.function.Function<? super S,? extends T> mapper, boolean distinct)
S - 源数据类型T - 目标数据类型source - 源数据集合filter - 源数据集合过滤规则mapper - 生成新的 list 接口规则distinct - 是否去重 distinct 为 true,表示过滤之后生成list之前进行去重操作public static <S,T> List<T> toList(S[] source, java.util.function.Predicate<S> filter, java.util.function.Function<? super S,? extends T> mapper, boolean distinct)
S - 源数据类型T - 目标数据类型source - 源数据数组filter - 源数据集合过滤规则mapper - 生成新的 list 接口规则distinct - 是否去重 distinct 为 true,表示过滤之后生成list之前进行去重操作public static <S,T> List<T> toList(List<S> source, java.util.function.Predicate<S> filter, java.util.function.Function<? super S,? extends T> mapper)
S - 源数据类型T - 目标数据类型source - 源数据集合filter - 源数据集合过滤规则mapper - 生成新的 list 接口规则public static <K,T,R> List<R> toListByMap(Map<K,T> map, java.util.function.BiFunction<K,T,R> function)
K - map 集合的 key 类型T - map 集合的数据类型R - 目标数据类型map - 源数据 map 集合function - 生成 list 规则public static <K,T,R> List<R> toListByMap(Map<K,T> map, java.util.function.BiPredicate<K,T> filterMapMapper, java.util.function.BiFunction<K,T,R> function)
K - map 集合的 key 类型T - map 集合的数据类型R - 目标数据类型map - 源数据 map 集合filterMapMapper - 过滤 map 的接口规则function - 生成 list 规则public static <K,S> Map<K,List<S>> groupingBy(List<S> source, java.util.function.Function<? super S,? extends K> classifier)
K - map 集合中的 key 类型S - map 集合中的 value 类型source - 数据源集合classifier - 分组规则public static <K,S> Map<K,List<S>> groupingBy(List<S> source, java.util.function.Predicate<S> filter, java.util.function.Function<? super S,? extends K> classifier)
K - map 集合中的 key 类型S - map 集合中的 value 类型source - 数据源集合filter - 过滤源数据集合的接口规则classifier - 分组规则public static <T> List<T> sort(List<T> source, Comparator<T> comparator)
T - 集合的数据类型source - 数据源集合comparator - 排序器public static <T> List<T> sort(List<T> source, Comparator<T> comparator, boolean reverse)
T - 集合的数据类型source - 数据源集合comparator - 排序器reverse - 是否逆序public static <K,T> DeduplicateResult<K,T> deduplicate(List<T> source, java.util.function.Function<T,Boolean> isValidFunction, java.util.function.Function<T,K> getDeduplicatedKeyFunction)
K - 去重属性的类型T - 数据源集合中元素的类型source - 数据源集合isValidFunction - 数据是否有效getDeduplicatedKeyFunction - 获取去重的数据值public static <K,T> DeduplicateResult<K,T> deduplicate(List<T> source, java.util.function.Function<T,K> getDeduplicatedKeyFunction)
K - 去重属性的类型T - 数据源集合中元素的类型source - 数据源集合getDeduplicatedKeyFunction - 获取去重的数据值public static <K,T> DeduplicateResult<K,T> deduplicate(List<T> source, java.util.function.Function<T,K> getDeduplicatedKeyFunction, boolean remainFirst)
K - 去重属性的类型T - 数据源集合中元素的类型source - 数据源集合getDeduplicatedKeyFunction - 获取去重的数据值remainFirst - 是否保留第一次出现的重复值public static <K,T> DeduplicateResult<K,T> deduplicate(List<T> source, java.util.function.Function<T,Boolean> isValidFunction, java.util.function.Function<T,K> getDeduplicatedKeyFunction, boolean remainFirst)
K - 去重属性的类型T - 数据源集合中元素的类型source - 数据源集合isValidFunction - 数据是否有效getDeduplicatedKeyFunction - 获取去重的数据值remainFirst - 是否保留第一次出现的重复值public static <K,T extends Enum<T>> Map<K,T> enumMap(Class<T> sourceEnumClass, java.util.function.Function<T,K> keyMapper)
K - map 集合中的 key 类型T - map 集合中的 value 类型sourceEnumClass - 数据源枚举 Class类keyMapper - map 集合中的 key 获取规则public static <T extends Enum<T>> Map<String,T> enumMap(Class<T> sourceEnumClass)
T - map 集合中的 value 类型sourceEnumClass - 数据源枚举 Class类public static <T extends Enum<T>,R> List<R> enumList(Class<T> sourceEnumClass, java.util.function.Function<T,R> function)
T - 枚举类型R - 结果集类型sourceEnumClass - 数据源枚举 Class类function - 生成接口public static <K,T extends Enum<T>> boolean enumContainsKey(K key, Class<T> sourceEnumClass, java.util.function.Function<T,K> keyMapper)
K - map 集合中的 key 类型T - map 集合中的 value 类型key - 要判断的 keysourceEnumClass - 数据源枚举 Class类keyMapper - map 集合中的 key 获取规则public static <K,T extends Enum<T>> T enumGetValue(K key, Class<T> sourceEnumClass, java.util.function.Function<T,K> keyMapper)
K - map 集合中的 key 类型T - map 集合中的 value 类型key - 要获取枚举实例的 keysourceEnumClass - 数据源枚举 Class类keyMapper - map 集合中的 key 获取规则public static <T> List<T> filter(List<T> source, java.util.function.Predicate<? super T> filter)
T - 数据类型source - 数据原始集合filter - 过滤规则public static <T> List<T> filter(T[] source, java.util.function.Predicate<? super T> filter)
T - 数据类型source - 数据原始数组filter - 过滤规则public static <M,K,T> T getDataFromList(M searchData,
java.util.function.Function<M,K> searchFunction,
List<T> sourceList,
java.util.function.Function<T,K> keyFunction)
M - 要搜索的源数据类型K - 搜索的 key 类型T - 被搜索的数据源类型searchData - 要搜索的源数据searchFunction - 搜索的keysourceList - 被搜索的数据源keyFunction - 被搜索的数据源索引生成规则public static <K,T> Map<K,T> handleMap(Map<K,T> map, java.util.function.BiConsumer<K,T> handlerMapper)
K - map 集合的 key 数据类型T - map 集合的 value 数据类型map - 源 map 集合handlerMapper - 集合元素处理接口规则public static <T> List<T> removeNull(List<? extends T> oldList)
T - 原始数据类型oldList - 原始数据集合public static <K,V,R> List<R> mapValueToList(Map<K,V> map, java.util.function.Function<V,R> function)
K - key 类型V - value 类型R - 目标数据类型map - 原始数据源集合function - 映射接口public static <K,V,R> List<R> mapToList(Map<K,V> map, java.util.function.BiFunction<K,V,R> function)
K - key 类型V - key 类型R - 结果集类型map - 原始数据源集合function - 映射接口public static <K,V,R> List<R> mapToList(Map<K,V> map, java.util.function.BiPredicate<K,V> predicate, java.util.function.BiFunction<K,V,R> function)
K - key 类型V - key 类型R - 结果集类型map - 原始数据源集合predicate - 过滤接口function - 映射接口public static <S1,S2,K,R> List<R> getListFromBaseList(List<S1> sourceList, java.util.function.Function<S1,K> sourceDataKeyFunction, List<S2> baseList, java.util.function.Function<S2,K> baseDataKeyFunction, java.util.function.BiFunction<S1,S2,R> function)
S1 - 原始集合数据类型S2 - 基础集合数据类型K - key 的数据类型R - 结果集数据类型sourceList - 原始集合sourceDataKeyFunction - 生成 key 规则baseList - 基础集合baseDataKeyFunction - 生成 key 规则function - 生成结果规则public static <S1,S2,K,R> List<R> getListFromBaseList(List<S1> sourceList, java.util.function.Function<S1,R> resultFunction, java.util.function.Function<R,K> resultDataKeyFunction, List<S2> baseList, java.util.function.Function<S2,K> baseDataKeyFunction, java.util.function.BiConsumer<R,List<S2>> consumer)
S1 - 原始集合数据类型S2 - 基础集合数据类型K - key 的数据类型R - 结果集数据类型sourceList - 原始集合resultFunction - 结果集生成规则resultDataKeyFunction - 生成 key 规则baseList - 基础集合数据类型baseDataKeyFunction - 生成 key 规则consumer - 匹配到的基础数据集合供结果数据使用public static <T> T getFirstItem(List<T> list)
T - 集合元素的泛型list - list 集合public static <T> T getLastItem(List<T> list)
T - 集合元素的泛型list - list 集合Copyright © 2022. All rights reserved.