类 CollHelper
java.lang.Object
top.tangyh.basic.utils.CollHelper
Map 类增强
- 作者:
- zuihou
-
方法概要
修饰符和类型方法说明static <T> List<T>添加 多个Liststatic <T> Set<T>添加 多个Setstatic <T> Set<T>addAllListToSet(List<T>... values) 添加 多个List 并返回Setstatic <T> List<T>addAllUnique(List<T>... values) 添加 多个List 并去重static <E> List<E>asList(E... elements) static <E> Set<E>asSet(E... elements) static intcomputeListCapacity(int arraySize) 将制定的枚举集合转成 map key -> name value -> descstatic intinitialCapacity(int size) 计算map 初始容量static intinitialCapacity(int size, float loadFactor) 计算map 初始容量static <K,V> Map<V, K> 转换 Map 的 K 和 Vstatic <K,V, M> com.google.common.collect.Multimap<K, M> iterableToMultiMap(Iterable<V> values, Function<? super V, K> keyFunction, Function<? super V, M> valueFunction) 一个key 对应多个值的map 结构: key -> [value1, value2, ...]split(Collection<String> list, CharSequence separator) 按照分隔符切割listsplit(Collection<T> list, Function<? super T, ?> function, CharSequence separator) 按照分隔符切割liststatic <K,V, M> com.google.common.collect.ImmutableMap<K, M> uniqueIndex(Iterable<V> values, Function<? super V, K> keyFunction, Function<? super V, M> valueFunction) 增强 guava 的 Maps.uniqueIndex方法
-
方法详细资料
-
putAll
-
getMap
将制定的枚举集合转成 map key -> name value -> desc- 参数:
list-- 返回:
-
uniqueIndex
public static <K,V, com.google.common.collect.ImmutableMap<K,M> M> uniqueIndex(Iterable<V> values, Function<? super V, K> keyFunction, Function<? super V, M> valueFunction) 增强 guava 的 Maps.uniqueIndex方法guava 的 Maps.uniqueIndex方法可以实现:
将 list<V> 转成 Map<K , V> K 需要自己指定, V不能指定本方法实现了:
将 list<V> 转成 Map<K , M> K 需要自己指定, M需要自己指定
其中K不能重复,若重复,则会报错
- 类型参数:
K- 转换后Map的键 类型V- 转换前Iterable的迭代类型M- 转换后Map的值 类型- 参数:
values- 需要转换的集合 可以是任何实现了 Iterable 接口的集合(如List, Set, Collection)keyFunction- 转换后Map的键的转换方式valueFunction- 转换后Map的值的转换方式- 返回:
- 唯一的map
-
iterableToMultiMap
public static <K,V, com.google.common.collect.Multimap<K,M> M> iterableToMultiMap(Iterable<V> values, Function<? super V, K> keyFunction, Function<? super V, M> valueFunction) 一个key 对应多个值的map 结构: key -> [value1, value2, ...]- 类型参数:
K- 转换后Map的键 类型V- 转换前Iterable的迭代类型M- 转换后Map的值 类型- 参数:
values- 需要转换的集合 可以是任何实现了 Iterable 接口的集合(如List, Set, Collection)keyFunction- 转换后Map的键的转换方式valueFunction- 转换后Map的值的转换方式- 返回:
- 唯一的map
-
inverse
转换 Map 的 K 和 V- 参数:
map- map- 返回:
- 反转的map
-
initialCapacity
public static int initialCapacity(int size, float loadFactor) 计算map 初始容量- 参数:
size- 已知数量loadFactor- 加载因子- 返回:
- map 初始容量
-
initialCapacity
public static int initialCapacity(int size) 计算map 初始容量- 参数:
size- 已知数量- 返回:
- map 初始容量
-
computeListCapacity
public static int computeListCapacity(int arraySize) -
split
public static <T> List<String> split(Collection<T> list, Function<? super T, ?> function, CharSequence separator) 按照分隔符切割list- 参数:
list- 集合function- 转换器separator- 分隔符- 返回:
- 分割后的集合
-
split
按照分隔符切割list- 参数:
list- 集合separator- 分隔符- 返回:
- 分割后的集合
-
asList
-
asSet
-
addAll
添加 多个List- 类型参数:
T-- 参数:
values- 集合- 返回:
-
addAllUnique
添加 多个List 并去重- 类型参数:
T-- 参数:
values- 集合- 返回:
-
addAll
添加 多个Set- 类型参数:
T-- 参数:
values- 集合- 返回:
-
addAllListToSet
添加 多个List 并返回Set- 类型参数:
T-- 参数:
values- 集合- 返回:
-