类 MapUtils
- java.lang.Object
-
- cn.hutool.core.map.MapUtil
-
- ai.yue.library.base.util.MapUtils
-
public class MapUtils extends cn.hutool.core.map.MapUtilMap工具类- 从以下版本开始:
- 2018年1月26日
- 作者:
- ylyue
-
-
字段概要
字段 修饰符和类型 字段 说明 static com.alibaba.fastjson.JSONObjectFINAL_EMPTY_JSON不可变的空Json常量
-
构造器概要
构造器 构造器 说明 MapUtils()
-
方法概要
所有方法 静态方法 具体方法 修饰符和类型 方法 说明 static BigDecimalgetBigDecimal(Map<?,?> paramMap, Object key)以安全的方式从Map中获取BigDecimalstatic BooleangetBoolean(Map<?,?> paramMap, Object key)以安全的方式从Map中获取Booleanstatic DoublegetDouble(Map<?,?> paramMap, Object key)以安全的方式从Map中获取Doublestatic IntegergetInteger(Map<?,?> paramMap, Object key)以安全的方式从Map中获取Integerstatic com.alibaba.fastjson.JSONArraygetJSONArray(Map<?,?> paramMap, String key)以安全的方式从Map中获取JSONArraystatic com.alibaba.fastjson.JSONObjectgetJSONObject(Map<?,?> paramMap, String key)以安全的方式从Map中获取JSONObjectstatic com.alibaba.fastjson.JSONObjectgetJSONObject(Map<String,Object> paramMap, String... keys)以安全的方式从Map中获取一组数据,组合成一个新的JSONObjectstatic LonggetLong(Map<?,?> paramMap, Object key)以安全的方式从Map中获取Longstatic NumbergetNumber(Map<?,?> paramMap, Object key)以安全的方式从Map中获取Numberstatic <T> TgetObject(Map<?,?> paramMap, Object key, Class<T> clazz)以安全的方式从Map中获取对象static StringgetString(Map<?,?> paramMap, Object key)以安全的方式从Map中获取字符串static booleanisContainsOneOfKey(Map<String,Object> paramMap, String[] keys)判断Map数据结构是否包含 keys 之一static booleanisEmptys(Map<String,Object>[] paramMaps)判断Map数组是否为空static booleanisKeys(Map<String,Object> paramMap, String[] mustContainKeys, String... canContainKeys)判断Map数据结构key的一致性static booleanisKeysEqual(Map<String,Object> paramMap, String[] keys)判断Map数据结构所有的key是否与数组完全匹配static booleanisMapsKeys(Map<String,Object>[] paramMaps, String[] keys)判断Map数组第一个元素,是否包含所有的keystatic booleanisStringValueEmpty(Map<String,Object> paramMap)判断Map是否为空,或者Map中String类型的value值是否为空static List<String>keyList(Map<String,Object> paramMap)获取所有的keystatic <T> Map<String,List<T>>listPOJOExtractKeyToList(List<T> objectList, String key)将指定值提取出来作为map key,map的值为相同key值的liststatic <T> Map<String,T>listPOJOExtractKeyToPOJO(List<T> objectList, String key)将list对象中数据提取为单个map键值对static voidremove(Map<String,Object> paramMap, String[] keys)批量移除static voidremoveBlankStr(Map<String,Object> paramMap)移除空白字符串static voidremoveEmpty(Map<String,Object> paramMap)移除空对象static voidreplaceKey(Map<String,Object> paramMap, String key, String replaceKey)替换keystatic com.alibaba.fastjson.JSONObjecttoCamelCase(Object param)属性命名策略转换-驼峰命名法static com.alibaba.fastjson.JSONObjecttoPropertyNamingStrategy(Object param, com.alibaba.fastjson.PropertyNamingStrategy propertyNamingStrategy)属性命名策略转换static com.alibaba.fastjson.JSONObjecttoSnakeCase(Object param)属性命名策略转换-下划线命名法static com.alibaba.fastjson.JSONObjecttoUnderlineCase(Object param)属性命名策略转换-下划线命名法static voidtrimStringValues(Map<String,Object> paramMap)删除Value字符串前后空格-
从类继承的方法 cn.hutool.core.map.MapUtil
builder, builder, builder, clear, createMap, createProxy, defaultIfEmpty, empty, empty, emptyIfNull, filter, filter, filter, get, get, get, get, getAny, getBool, getBool, getChar, getChar, getDate, getDate, getDouble, getFloat, getFloat, getInt, getInt, getLong, getQuietly, getQuietly, getShort, getShort, getStr, getStr, inverse, isEmpty, isNotEmpty, join, join, joinIgnoreNull, newConcurrentHashMap, newConcurrentHashMap, newConcurrentHashMap, newHashMap, newHashMap, newHashMap, newHashMap, newIdentityMap, newTreeMap, newTreeMap, of, of, of, of, removeAny, removeNullValue, renameKey, reverse, sort, sort, sortByValue, sortJoin, toCamelCaseMap, toListMap, toMapList, toObjectArray, unmodifiable, wrap
-
-
-
-
方法详细资料
-
isKeys
public static boolean isKeys(Map<String,Object> paramMap, String[] mustContainKeys, String... canContainKeys)
判断Map数据结构key的一致性- 参数:
paramMap- 参数mustContainKeys- 必须包含的key(必传)canContainKeys- 可包含的key(非必传)- 返回:
- 是否满足条件
-
isKeysEqual
public static boolean isKeysEqual(Map<String,Object> paramMap, String[] keys)
判断Map数据结构所有的key是否与数组完全匹配- 参数:
paramMap- 需要确认的Mapkeys- 条件- 返回:
- 匹配所有的key且大小一致(true)
-
isContainsOneOfKey
public static boolean isContainsOneOfKey(Map<String,Object> paramMap, String[] keys)
判断Map数据结构是否包含 keys 之一- 参数:
paramMap- 需要确认的Mapkeys- 条件- 返回:
- 只要包含一个key(true)
-
isMapsKeys
public static boolean isMapsKeys(Map<String,Object>[] paramMaps, String[] keys)
判断Map数组第一个元素,是否包含所有的key
弱比较,只判断数组中第一个元素是否包含所有的key
- 参数:
paramMaps- 需要确认的Map数组keys- 条件数组- 返回:
- Map数组元素0包含所有的key(true)
-
isEmptys
public static boolean isEmptys(Map<String,Object>[] paramMaps)
判断Map数组是否为空
弱判断,只确定数组中第一个元素是否为空
- 参数:
paramMaps- 要判断的Map[]数组- 返回:
- Map数组==null或长度==0或第一个元素为空(true)
-
isStringValueEmpty
public static boolean isStringValueEmpty(Map<String,Object> paramMap)
判断Map是否为空,或者Map中String类型的value值是否为空- 参数:
paramMap- 要判断的Map- 返回:
- value值是否为空
-
trimStringValues
public static void trimStringValues(Map<String,Object> paramMap)
删除Value字符串前后空格- 参数:
paramMap- 需要处理的map
-
remove
public static void remove(Map<String,Object> paramMap, String[] keys)
批量移除- 参数:
paramMap- 要操作的Mapkeys- 被移除的key数组
-
removeEmpty
public static void removeEmpty(Map<String,Object> paramMap)
移除空对象- 参数:
paramMap- 要操作的Map
-
removeBlankStr
public static void removeBlankStr(Map<String,Object> paramMap)
移除空白字符串空白的定义如下:
1、为null
2、为不可见字符(如空格)
3、""- 参数:
paramMap- 要操作的Map
-
replaceKey
public static void replaceKey(Map<String,Object> paramMap, String key, String replaceKey)
替换key- 参数:
paramMap- 要操作的Mapkey- 被替换的keyreplaceKey- 替换的key
-
keyList
public static List<String> keyList(Map<String,Object> paramMap)
获取所有的key- 参数:
paramMap- 需要获取keys的map- 返回:
- keyList
-
getJSONObject
public static com.alibaba.fastjson.JSONObject getJSONObject(Map<String,Object> paramMap, String... keys)
以安全的方式从Map中获取一组数据,组合成一个新的JSONObject- 参数:
paramMap- 需要从中获取数据的mapkeys- 获取的keys- 返回:
- 结果
-
getObject
public static <T> T getObject(Map<?,?> paramMap, Object key, Class<T> clazz)
以安全的方式从Map中获取对象- 类型参数:
T- 泛型- 参数:
paramMap- 参数mapkey- keyclazz- 泛型类型- 返回:
- 结果
-
getNumber
public static Number getNumber(Map<?,?> paramMap, Object key)
以安全的方式从Map中获取Number- 参数:
paramMap- 参数mapkey- key- 返回:
- 结果
-
getString
public static String getString(Map<?,?> paramMap, Object key)
以安全的方式从Map中获取字符串- 参数:
paramMap- 参数mapkey- key- 返回:
- 结果
-
getBoolean
public static Boolean getBoolean(Map<?,?> paramMap, Object key)
以安全的方式从Map中获取Boolean- 参数:
paramMap- 参数mapkey- key- 返回:
- 结果
-
getInteger
public static Integer getInteger(Map<?,?> paramMap, Object key)
以安全的方式从Map中获取Integer- 参数:
paramMap- 参数mapkey- key- 返回:
- 结果
-
getLong
public static Long getLong(Map<?,?> paramMap, Object key)
以安全的方式从Map中获取Long- 参数:
paramMap- 参数mapkey- key- 返回:
- 结果
-
getDouble
public static Double getDouble(Map<?,?> paramMap, Object key)
以安全的方式从Map中获取Double- 参数:
paramMap- 参数mapkey- key- 返回:
- 结果
-
getBigDecimal
public static BigDecimal getBigDecimal(Map<?,?> paramMap, Object key)
以安全的方式从Map中获取BigDecimal- 参数:
paramMap- 参数mapkey- key- 返回:
- 结果
-
getJSONObject
public static com.alibaba.fastjson.JSONObject getJSONObject(Map<?,?> paramMap, String key)
以安全的方式从Map中获取JSONObject- 参数:
paramMap- 参数mapkey- key- 返回:
- 结果
-
getJSONArray
public static com.alibaba.fastjson.JSONArray getJSONArray(Map<?,?> paramMap, String key)
以安全的方式从Map中获取JSONArray- 参数:
paramMap- 参数mapkey- key- 返回:
- 结果
-
toCamelCase
public static com.alibaba.fastjson.JSONObject toCamelCase(Object param)
属性命名策略转换-驼峰命名法- 参数:
param- Json参数 或 POJO对象- 返回:
- 经过属性命名策略转换后的 JSONObject
-
toUnderlineCase
public static com.alibaba.fastjson.JSONObject toUnderlineCase(Object param)
属性命名策略转换-下划线命名法- 参数:
param- Json参数 或 POJO对象- 返回:
- 经过属性命名策略转换后的 JSONObject
-
toSnakeCase
public static com.alibaba.fastjson.JSONObject toSnakeCase(Object param)
属性命名策略转换-下划线命名法- 参数:
param- Json参数 或 POJO对象- 返回:
- 经过属性命名策略转换后的 JSONObject
-
toPropertyNamingStrategy
public static com.alibaba.fastjson.JSONObject toPropertyNamingStrategy(Object param, com.alibaba.fastjson.PropertyNamingStrategy propertyNamingStrategy)
属性命名策略转换- 参数:
param- Json参数 或 POJO对象propertyNamingStrategy- 属性命名策略- 返回:
- 经过属性命名策略转换后的 JSONObject
-
listPOJOExtractKeyToList
public static <T> Map<String,List<T>> listPOJOExtractKeyToList(List<T> objectList, String key)
将指定值提取出来作为map key,map的值为相同key值的list例:一个用户集合中的对象有key、name、sex
数据1:key:1,name:张三,sex:man
数据2:key:2,name:李四,sex:woman
数据3:key:3,name:王五,sex:man
方法调用:ListPOJOExtractKeyToList(list,"sex");
处理后返回结果为一个map,值为一个list,json表示为:
{"man":[{"key":"1","name":"张三","sex":"man"},{"key":"3","name":"王五","sex":"man"}],
"woman":[{"key":"2","name":"李四","sex":"woman"}]}
- 参数:
objectList- 对象list- 返回:
- key为map key的键值对
-
listPOJOExtractKeyToPOJO
public static <T> Map<String,T> listPOJOExtractKeyToPOJO(List<T> objectList, String key)
将list对象中数据提取为单个map键值对
注:如果有相同的key时,后面的值会覆盖第一次出现的key对应的值
例:一个用户集合中的对象有key、name、sex
数据1:key:1,name:张三,sex:man
数据2:key:2,name:李四,sex:woman
数据3:key:3,name:王五,sex:man
方法调用:ListPOJOExtractKeyToList(list,"key");
处理后返回结果为一个map,值为一个对象,json表示为:
{"1":{"key":"1","name":"张三","sex":"man"},"2":{"key":"2","name":"李四","sex":"woman"},"3":{"key":"3","name":"王五","sex":"man"}}
- 类型参数:
T- 泛型对象- 参数:
objectList- list数据key- 需要提取的key- 返回:
- Map<String, T>
-
-