类 CollHelper

java.lang.Object
top.tangyh.basic.utils.CollHelper

public final class CollHelper extends Object
Map 类增强
作者:
zuihou
  • 方法详细资料

    • putAll

      public static Map<String,Set<String>> putAll(Map<String,Set<String>>... items)
    • getMap

      public static Map<String,String> getMap(BaseEnum[] list)
      将制定的枚举集合转成 map key -> name value -> desc
      参数:
      list -
      返回:
    • uniqueIndex

      public static <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方法

      guava 的 Maps.uniqueIndex方法可以实现:
      将 list<V&gt 转成 Map<K , V&gt K 需要自己指定, V不能指定

      本方法实现了:

      将 list<V&gt 转成 Map<K , M&gt K 需要自己指定, M需要自己指定

      其中K不能重复,若重复,则会报错

      类型参数:
      K - 转换后Map的键 类型
      V - 转换前Iterable的迭代类型
      M - 转换后Map的值 类型
      参数:
      values - 需要转换的集合 可以是任何实现了 Iterable 接口的集合(如List, Set, Collection)
      keyFunction - 转换后Map的键的转换方式
      valueFunction - 转换后Map的值的转换方式
      返回:
      唯一的map
    • iterableToMultiMap

      public static <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, ...]
      类型参数:
      K - 转换后Map的键 类型
      V - 转换前Iterable的迭代类型
      M - 转换后Map的值 类型
      参数:
      values - 需要转换的集合 可以是任何实现了 Iterable 接口的集合(如List, Set, Collection)
      keyFunction - 转换后Map的键的转换方式
      valueFunction - 转换后Map的值的转换方式
      返回:
      唯一的map
    • inverse

      public static <K, V> Map<V,K> inverse(Map<K,V> map)
      转换 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

      public static <T> List<String> split(Collection<String> list, CharSequence separator)
      按照分隔符切割list
      参数:
      list - 集合
      separator - 分隔符
      返回:
      分割后的集合
    • asList

      public static <E> List<E> asList(E... elements)
    • asSet

      public static <E> Set<E> asSet(E... elements)
    • addAll

      public static <T> List<T> addAll(List<T>... values)
      添加 多个List
      类型参数:
      T -
      参数:
      values - 集合
      返回:
    • addAllUnique

      public static <T> List<T> addAllUnique(List<T>... values)
      添加 多个List 并去重
      类型参数:
      T -
      参数:
      values - 集合
      返回:
    • addAll

      public static <T> Set<T> addAll(Set<T>... values)
      添加 多个Set
      类型参数:
      T -
      参数:
      values - 集合
      返回:
    • addAllListToSet

      public static <T> Set<T> addAllListToSet(List<T>... values)
      添加 多个List 并返回Set
      类型参数:
      T -
      参数:
      values - 集合
      返回: