程序包 dev.utils.common

类 MapUtils


  • public final class MapUtils
    extends java.lang.Object
    detail: Map 工具类
    作者:
    Ttt
    另请参阅:
    • 方法概要

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

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

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

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

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

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

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

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

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

        public static int getCount​(java.util.Map... maps)
        获取 Map 数组长度总和
        参数:
        maps - Map[]
        返回:
        Map 数组长度总和
      • get

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

        public static <K,​V> V get​(java.util.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​(java.util.Map<K,​V> map,
                                                  V value)
        通过 value 获取 key
        类型参数:
        K - key
        V - value
        参数:
        map - Map
        value - Value
        返回:
        等于 value 的 key
      • getKeysByValue

        public static <K,​V> java.util.List<K> getKeysByValue​(java.util.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> java.util.List<K> getKeys​(java.util.Map<K,​V> map)
        通过 Map 获取 key 集合
        类型参数:
        K - key
        V - value
        参数:
        map - Map
        返回:
        全部存储 key 集合
      • getKeysToArrays

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

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

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

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

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

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

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

        public static <K,​V> java.util.Map.Entry<K,​V> getPrevious​(java.util.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​(java.util.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​(java.util.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​(java.util.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​(java.util.Map<K,​V> map,
                                              java.util.Map.Entry<K,​V> entry)
        添加一条数据
        类型参数:
        K - key
        V - value
        参数:
        map - Map
        entry - entry
        返回:
        true success, false fail
      • put

        public static <K,​V> boolean put​(java.util.Map<K,​V> map,
                                              java.util.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​(java.util.Map<K,​V> map,
                                                     java.util.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​(java.util.Map<K,​V> map,
                                                 java.util.List<K> listKeys,
                                                 java.util.List<V> listValues)
        添加多条数据
        类型参数:
        K - key
        V - value
        参数:
        map - Map
        listKeys - keys
        listValues - values
        返回:
        true success, false fail
      • putAll

        public static <K,​V> boolean putAll​(java.util.Map<K,​V> map,
                                                 java.util.List<K> listKeys,
                                                 java.util.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​(java.util.Map<K,​V> map,
                                                        java.util.List<K> listKeys,
                                                        java.util.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​(java.util.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​(java.util.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​(java.util.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​(java.util.Map<K,​V> map,
                                                 java.util.Map<K,​V> mapData)
        添加多条数据
        类型参数:
        K - key
        V - value
        参数:
        map - Map
        mapData - map 数据
        返回:
        true success, false fail
      • putAll

        public static <K,​V> boolean putAll​(java.util.Map<K,​V> map,
                                                 java.util.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​(java.util.Map<K,​V> map,
                                                        java.util.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​(java.util.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​(java.util.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​(java.util.Map<K,​V> map,
                                                       java.util.Collection<K> keys)
        移除多条数据
        类型参数:
        K - key
        V - value
        参数:
        map - Map
        keys - keys
        返回:
        true success, false fail
      • removeToValue

        public static <K,​V> boolean removeToValue​(java.util.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​(java.util.Map<K,​V> map,
                                                         java.util.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​(java.util.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​(java.util.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​(java.util.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​(java.util.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​(java.util.Map<K,​java.util.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​(java.util.Map<K,​java.util.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​(java.util.Map<K,​java.util.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​(java.util.Map<K,​java.util.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​(java.util.Map<K,​java.util.List<T>> map,
                                                        K key,
                                                        java.util.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​(java.util.Map<K,​java.util.List<T>> map,
                                                      java.util.Map<K,​java.util.List<T>> removeMap)
        移除多条数据 ( 通过 Map 进行移除 )
        类型参数:
        K - key
        T - value type
        参数:
        map - Map
        removeMap - Map 移除对比数据源
        返回:
        true success, false fail
      • removeToMap

        public static <K,​T> boolean removeToMap​(java.util.Map<K,​java.util.List<T>> map,
                                                      java.util.Map<K,​java.util.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