程序包 dev.utils.common

类 MapUtils

java.lang.Object
dev.utils.common.MapUtils

public final class MapUtils extends Object
detail: Map 工具类
作者:
Ttt
  • 方法概要

    修饰符和类型
    方法
    说明
    static <K, V> boolean
    containsKey(Map<K,V> map, K key)
    判断 Map 是否存储 key
    static <K, V> boolean
    containsValue(Map<K,V> map, V value)
    判断 Map 是否存储 value
    static <T> boolean
    equals(T value1, T value2)
    判断两个值是否一样
    static <K, V> V
    get(Map<K,V> map, K key)
    获取 value
    static <K, V> V
    get(Map<K,V> map, K key, V defaultValue)
    获取 value 如果 value 为 null, 则返回 defaultValue
    static int
    getCount(Map<?,?>... maps)
    获取 Map 数组长度总和
    static <K, V> Map.Entry<K,V>
    获取第一条数据
    static <K, V> K
    getKeyByValue(Map<K,V> map, V value)
    通过 value 获取 key
    static <K, V> List<K>
    getKeys(Map<K,V> map)
    通过 Map 获取 key 集合
    static <K, V> List<K>
    getKeysByValue(Map<K,V> map, V value)
    通过 value 获取 key 集合 ( 返回等于 value 的 key 集合 )
    static <K, V> K[]
    getKeysToArrays(Map<K,V> map)
    通过 Map 获取 key 数组
    static <K, V> Map.Entry<K,V>
    获取最后一条数据
    static <K, V> Map.Entry<K,V>
    getLast(LinkedHashMap<K,V> map, boolean isReflection)
    获取最后一条数据
    static <K, V> Map.Entry<K,V>
    getNext(LinkedHashMap<K,V> map, K key)
    根据指定 key 获取 key 所在位置的下一条数据
    static <K, V> Map.Entry<K,V>
    getPrevious(LinkedHashMap<K,V> map, K key)
    根据指定 key 获取 key 所在位置的上一条数据
    static <K, V> List<V>
    getValues(Map<K,V> map)
    通过 Map 获取 value 集合
    static <K, V> V[]
    通过 Map 获取 value 数组
    static boolean
    greaterThan(Map<?,?> map, int length)
    判断 Map 长度是否大于指定长度
    static boolean
    greaterThanOrEqual(Map<?,?> map, int length)
    判断 Map 长度是否大于等于指定长度
    static boolean
    isEmpty(Map<?,?> map)
    判断 Map 是否为 null
    static boolean
    isLength(Map<?,?> map, int length)
    获取长度 Map 是否等于期望长度
    static boolean
    isNotEmpty(Map<?,?> map)
    判断 Map 是否不为 null
    static <K, V> boolean
    isNullToValue(Map<K,V> map, K key)
    判断指定 key 的 value 是否为 null
    static int
    length(Map<?,?> map)
    获取 Map 长度
    static int
    length(Map<?,?> map, int defaultLength)
    获取 Map 长度
    static boolean
    lessThan(Map<?,?> map, int length)
    判断 Map 长度是否小于指定长度
    static boolean
    lessThanOrEqual(Map<?,?> map, int length)
    判断 Map 长度是否小于等于指定长度
    static <K, V> StringBuilder
    mapToString(Map<K,V> map, String symbol)
    键值对拼接
    static <K, V> StringBuilder
    mapToString(Map<K,V> map, String symbol, StringBuilder builder)
    键值对拼接
    static <K, V> boolean
    put(Map<K,V> map, Map.Entry<K,V> entry)
    添加一条数据
    static <K, V> boolean
    put(Map<K,V> map, Map.Entry<K,V> entry, boolean notNull)
    添加一条数据
    static <K, V> boolean
    put(Map<K,V> map, K key, V value)
    添加一条数据
    static <K, V> boolean
    put(Map<K,V> map, K key, V value, boolean notNull)
    添加一条数据
    static <K, V> boolean
    putAll(Map<K,V> map, List<K> listKeys, List<V> listValues)
    添加多条数据
    static <K, V> boolean
    putAll(Map<K,V> map, List<K> listKeys, List<V> listValues, boolean notNull)
    添加多条数据
    static <K, V> boolean
    putAll(Map<K,V> map, Map<K,V> mapData)
    添加多条数据
    static <K, V> boolean
    putAll(Map<K,V> map, Map<K,V> mapData, boolean notNull)
    添加多条数据
    static <K, V> boolean
    putAll(Map<K,V> map, K[] keys, V[] values)
    添加多条数据
    static <K, V> boolean
    putAll(Map<K,V> map, K[] keys, V[] values, boolean notNull)
    添加多条数据
    static <K, V> boolean
    putAllNotNull(Map<K,V> map, List<K> listKeys, List<V> listValues)
    添加多条数据, 不允许 key 为 null
    static <K, V> boolean
    putAllNotNull(Map<K,V> map, Map<K,V> mapData)
    添加多条数据, 不允许 key 为 null
    static <K, V> boolean
    putAllNotNull(Map<K,V> map, K[] keys, V[] values)
    添加多条数据, 不允许 key 为 null
    static <K, V> boolean
    putNotNull(Map<K,V> map, Map.Entry<K,V> entry)
    添加一条数据 ( 不允许 key 为 null )
    static <K, V> boolean
    putNotNull(Map<K,V> map, K key, V value)
    添加一条数据 ( 不允许 key 为 null )
    static <K, T> boolean
    putToList(Map<K,List<T>> map, K key, T value)
    添加一条数据
    static <K, T> boolean
    putToList(Map<K,List<T>> map, K key, T value, boolean isNew)
    添加一条数据
    static <K, V> boolean
    remove(Map<K,V> map, K key)
    移除一条数据
    static <K, V> boolean
    remove(Map<K,V> map, K key, V value)
    移除一条数据
    static <K, V> boolean
    removeToKeys(Map<K,V> map, Collection<K> keys)
    移除多条数据
    static <K, T> boolean
    removeToList(Map<K,List<T>> map, K key)
    移除一条数据
    static <K, T> boolean
    removeToList(Map<K,List<T>> map, K key, T value)
    移除一条数据
    static <K, T> boolean
    removeToLists(Map<K,List<T>> map, K key, List<T> lists)
    移除多条数据
    static <K, T> boolean
    removeToMap(Map<K,List<T>> map, Map<K,List<T>> removeMap)
    移除多条数据 ( 通过 Map 进行移除 )
    static <K, T> boolean
    removeToMap(Map<K,List<T>> map, Map<K,List<T>> removeMap, boolean removeEmpty, boolean isNullRemoveAll)
    移除多条数据 ( 通过 Map 进行移除 )
    static <K, V> boolean
    removeToValue(Map<K,V> map, V value)
    移除等于 value 的所有数据
    static <K, V> boolean
    removeToValues(Map<K,V> map, Collection<V> values)
    移除等于 value 的所有数据 ( Collection )
    static <K, V> boolean
    toggle(Map<K,V> map, K key, V value)
    切换保存状态

    从类继承的方法 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 方法详细资料

    • isEmpty

      public static boolean isEmpty(Map<?,?> map)
      判断 Map 是否为 null
      参数:
      map - Map
      返回:
      true yes, false no
    • isNotEmpty

      public static boolean isNotEmpty(Map<?,?> map)
      判断 Map 是否不为 null
      参数:
      map - Map
      返回:
      true yes, false no
    • length

      public static int length(Map<?,?> map)
      获取 Map 长度
      参数:
      map - Map
      返回:
      如果 Map 为 null, 则返回默认长度, 如果不为 null, 则返回 map.size()
    • length

      public static int length(Map<?,?> map, int defaultLength)
      获取 Map 长度
      参数:
      map - Map
      defaultLength - 集合为 null 默认长度
      返回:
      如果 Map 为 null, 则返回 defaultLength, 如果不为 null, 则返回 map.size()
    • isLength

      public static boolean isLength(Map<?,?> map, int length)
      获取长度 Map 是否等于期望长度
      参数:
      map - Map
      length - 期望长度
      返回:
      true yes, false no
    • greaterThan

      public static boolean greaterThan(Map<?,?> map, int length)
      判断 Map 长度是否大于指定长度
      参数:
      map - Map
      length - 指定长度
      返回:
      true yes, false no
    • greaterThanOrEqual

      public static boolean greaterThanOrEqual(Map<?,?> map, int length)
      判断 Map 长度是否大于等于指定长度
      参数:
      map - Map
      length - 指定长度
      返回:
      true yes, false no
    • lessThan

      public static boolean lessThan(Map<?,?> map, int length)
      判断 Map 长度是否小于指定长度
      参数:
      map - Map
      length - 指定长度
      返回:
      true yes, false no
    • lessThanOrEqual

      public static boolean lessThanOrEqual(Map<?,?> map, int length)
      判断 Map 长度是否小于等于指定长度
      参数:
      map - Map
      length - 指定长度
      返回:
      true yes, false no
    • getCount

      public static int getCount(Map<?,?>... maps)
      获取 Map 数组长度总和
      参数:
      maps - Map[]
      返回:
      Map 数组长度总和
    • get

      public static <K, V> V get(Map<K,V> map, K key)
      获取 value
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      key - key
      返回:
      指定 key 的 value
    • get

      public static <K, V> V get(Map<K,V> map, K key, V defaultValue)
      获取 value 如果 value 为 null, 则返回 defaultValue
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      key - key
      defaultValue - 默认 value
      返回:
      指定 key 的 value 如果 value 为 null, 则返回 defaultValue
    • getKeyByValue

      public static <K, V> K getKeyByValue(Map<K,V> map, V value)
      通过 value 获取 key
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      value - Value
      返回:
      等于 value 的 key
    • getKeysByValue

      public static <K, V> List<K> getKeysByValue(Map<K,V> map, V value)
      通过 value 获取 key 集合 ( 返回等于 value 的 key 集合 )
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      value - Value
      返回:
      等于 value 的 key 集合
    • getKeys

      public static <K, V> List<K> getKeys(Map<K,V> map)
      通过 Map 获取 key 集合
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      返回:
      全部存储 key 集合
    • getKeysToArrays

      public static <K, V> K[] getKeysToArrays(Map<K,V> map)
      通过 Map 获取 key 数组
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      返回:
      全部存储 key 数组
    • getValues

      public static <K, V> List<V> getValues(Map<K,V> map)
      通过 Map 获取 value 集合
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      返回:
      全部存储 value 数组
    • getValuesToArrays

      public static <K, V> V[] getValuesToArrays(Map<K,V> map)
      通过 Map 获取 value 数组
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      返回:
      全部存储 value 数组
    • getFirst

      public static <K, V> Map.Entry<K,V> getFirst(LinkedHashMap<K,V> map)
      获取第一条数据
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      返回:
      第一条数据 Map.Entry
    • getLast

      public static <K, V> Map.Entry<K,V> getLast(LinkedHashMap<K,V> map)
      获取最后一条数据
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      返回:
      最后一条数据 Map.Entry
    • getLast

      public static <K, V> Map.Entry<K,V> getLast(LinkedHashMap<K,V> map, boolean isReflection)
      获取最后一条数据
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      isReflection - 是否使用反射
      返回:
      最后一条数据 Map.Entry
    • getNext

      public static <K, V> Map.Entry<K,V> getNext(LinkedHashMap<K,V> map, K key)
      根据指定 key 获取 key 所在位置的下一条数据
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      key - key
      返回:
      指定 key 下一条数据 Map.Entry
    • getPrevious

      public static <K, V> Map.Entry<K,V> getPrevious(LinkedHashMap<K,V> map, K key)
      根据指定 key 获取 key 所在位置的上一条数据
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      key - key
      返回:
      指定 key 上一条数据 Map.Entry
    • put

      public static <K, V> boolean put(Map<K,V> map, K key, V value)
      添加一条数据
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      key - key
      value - value
      返回:
      true success, false fail
    • put

      public static <K, V> boolean put(Map<K,V> map, K key, V value, boolean notNull)
      添加一条数据
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      key - key
      value - value
      notNull - 是否不允许 key 为 null
      返回:
      true success, false fail
    • putNotNull

      public static <K, V> boolean putNotNull(Map<K,V> map, K key, V value)
      添加一条数据 ( 不允许 key 为 null )
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      key - key
      value - value
      返回:
      true success, false fail
    • put

      public static <K, V> boolean put(Map<K,V> map, Map.Entry<K,V> entry)
      添加一条数据
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      entry - entry
      返回:
      true success, false fail
    • put

      public static <K, V> boolean put(Map<K,V> map, Map.Entry<K,V> entry, boolean notNull)
      添加一条数据
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      entry - entry
      notNull - 是否不允许 key 为 null
      返回:
      true success, false fail
    • putNotNull

      public static <K, V> boolean putNotNull(Map<K,V> map, Map.Entry<K,V> entry)
      添加一条数据 ( 不允许 key 为 null )
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      entry - entry
      返回:
      true success, false fail
    • putAll

      public static <K, V> boolean putAll(Map<K,V> map, List<K> listKeys, List<V> listValues)
      添加多条数据
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      listKeys - keys
      listValues - values
      返回:
      true success, false fail
    • putAll

      public static <K, V> boolean putAll(Map<K,V> map, List<K> listKeys, List<V> listValues, boolean notNull)
      添加多条数据
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      listKeys - keys
      listValues - values
      notNull - 是否不允许 key 为 null
      返回:
      true success, false fail
    • putAllNotNull

      public static <K, V> boolean putAllNotNull(Map<K,V> map, List<K> listKeys, List<V> listValues)
      添加多条数据, 不允许 key 为 null
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      listKeys - keys
      listValues - values
      返回:
      true success, false fail
    • putAll

      public static <K, V> boolean putAll(Map<K,V> map, K[] keys, V[] values)
      添加多条数据
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      keys - keys
      values - values
      返回:
      true success, false fail
    • putAll

      public static <K, V> boolean putAll(Map<K,V> map, K[] keys, V[] values, boolean notNull)
      添加多条数据
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      keys - keys
      values - values
      notNull - 是否不允许 key 为 null
      返回:
      true success, false fail
    • putAllNotNull

      public static <K, V> boolean putAllNotNull(Map<K,V> map, K[] keys, V[] values)
      添加多条数据, 不允许 key 为 null
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      keys - keys
      values - values
      返回:
      true success, false fail
    • putAll

      public static <K, V> boolean putAll(Map<K,V> map, Map<K,V> mapData)
      添加多条数据
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      mapData - map 数据
      返回:
      true success, false fail
    • putAll

      public static <K, V> boolean putAll(Map<K,V> map, Map<K,V> mapData, boolean notNull)
      添加多条数据
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      mapData - map 数据
      notNull - 是否不允许 key 为 null
      返回:
      true success, false fail
    • putAllNotNull

      public static <K, V> boolean putAllNotNull(Map<K,V> map, Map<K,V> mapData)
      添加多条数据, 不允许 key 为 null
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      mapData - map 数据
      返回:
      true success, false fail
    • remove

      public static <K, V> boolean remove(Map<K,V> map, K key)
      移除一条数据
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      key - key
      返回:
      true success, false fail
    • remove

      public static <K, V> boolean remove(Map<K,V> map, K key, V value)
      移除一条数据
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      key - key
      value - value
      返回:
      true success, false fail
    • removeToKeys

      public static <K, V> boolean removeToKeys(Map<K,V> map, Collection<K> keys)
      移除多条数据
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      keys - keys
      返回:
      true success, false fail
    • removeToValue

      public static <K, V> boolean removeToValue(Map<K,V> map, V value)
      移除等于 value 的所有数据
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      value - value
      返回:
      true success, false fail
    • removeToValues

      public static <K, V> boolean removeToValues(Map<K,V> map, Collection<V> values)
      移除等于 value 的所有数据 ( Collection )
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      values - values
      返回:
      true success, false fail
    • equals

      public static <T> boolean equals(T value1, T value2)
      判断两个值是否一样
      类型参数:
      T - 泛型
      参数:
      value1 - 第一个值
      value2 - 第二个值
      返回:
      true yes, false no
    • toggle

      public static <K, V> boolean toggle(Map<K,V> map, K key, V value)
      切换保存状态
           1. 如果存在, 则删除
           2. 如果不存在, 则保存
       
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      key - key
      value - value
      返回:
      true success, false fail
    • isNullToValue

      public static <K, V> boolean isNullToValue(Map<K,V> map, K key)
      判断指定 key 的 value 是否为 null
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      key - key
      返回:
      true yes, false no
    • containsKey

      public static <K, V> boolean containsKey(Map<K,V> map, K key)
      判断 Map 是否存储 key
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      key - key
      返回:
      true yes, false no
    • containsValue

      public static <K, V> boolean containsValue(Map<K,V> map, V value)
      判断 Map 是否存储 value
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      value - value
      返回:
      true yes, false no
    • putToList

      public static <K, T> boolean putToList(Map<K,List<T>> map, K key, T value)
      添加一条数据
      类型参数:
      K - key
      T - value type
      参数:
      map - 待添加 Map
      key - key
      value - value, add to list
      返回:
      true success, false fail
    • putToList

      public static <K, T> boolean putToList(Map<K,List<T>> map, K key, T value, boolean isNew)
      添加一条数据
      类型参数:
      K - key
      T - value type
      参数:
      map - Map
      key - key
      value - value, add to list
      isNew - 当指定 (key) 的 value 为 null, 是否创建
      返回:
      true success, false fail
    • removeToList

      public static <K, T> boolean removeToList(Map<K,List<T>> map, K key)
      移除一条数据
      类型参数:
      K - key
      T - value type
      参数:
      map - Map
      key - key
      返回:
      true success, false fail
    • removeToList

      public static <K, T> boolean removeToList(Map<K,List<T>> map, K key, T value)
      移除一条数据
      类型参数:
      K - key
      T - value type
      参数:
      map - Map
      key - key
      value - value, remove to list
      返回:
      true success, false fail
    • removeToLists

      public static <K, T> boolean removeToLists(Map<K,List<T>> map, K key, List<T> lists)
      移除多条数据
      类型参数:
      K - key
      T - value type
      参数:
      map - Map
      key - key
      lists - 删除的 list 数据源
      返回:
      true success, false fail
    • removeToMap

      public static <K, T> boolean removeToMap(Map<K,List<T>> map, Map<K,List<T>> removeMap)
      移除多条数据 ( 通过 Map 进行移除 )
      类型参数:
      K - key
      T - value type
      参数:
      map - Map
      removeMap - Map 移除对比数据源
      返回:
      true success, false fail
    • removeToMap

      public static <K, T> boolean removeToMap(Map<K,List<T>> map, Map<K,List<T>> removeMap, boolean removeEmpty, boolean isNullRemoveAll)
      移除多条数据 ( 通过 Map 进行移除 )
      类型参数:
      K - key
      T - value type
      参数:
      map - Map
      removeMap - Map 移除对比数据源
      removeEmpty - 是否移除 null、长度为 0 的数据
      isNullRemoveAll - 如果待移除的 List 是 null, 是否移除全部
      返回:
      true success, false fail
    • mapToString

      public static <K, V> StringBuilder mapToString(Map<K,V> map, String symbol)
      键值对拼接
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      symbol - 拼接符号
      返回:
      StringBuilder
    • mapToString

      public static <K, V> StringBuilder mapToString(Map<K,V> map, String symbol, StringBuilder builder)
      键值对拼接
      类型参数:
      K - key
      V - value
      参数:
      map - Map
      symbol - 拼接符号
      builder - Builder
      返回:
      StringBuilder