概述
处理一些与Map相关的方法
(未完待续。。。)
代码
package com.wzh.utils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.LoggerFactory;
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Map工具类
*
* @author weizhenhui
* @date 2021/4/30 11:52
*/
public class MapUtil {
/**
* 获取实体的属性与值的map(对象转map)
*
* @param object
* @return
*/
public static Map<String, Object> toMap(Object object) {
Map<String, Object> map = new HashMap<String, Object>();
Field[] fields = object.getClass().getDeclaredFields();
for (Field field : fields) {
Object obj;
try {
obj = field.get(object);
if (obj != null) {
map.put(field.getName(), obj);
}
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
return map;
}
/**
* 将list<Map>转为Map<key, value>
*
* @param listMap
* @param fieldKey listMap的map中作为key的字段
* @param fieldValue listMap的map中作为value的字段
* @return
*/
public static Map<String, String> listMapToMap(List<Map<String, String>> listMap, String fieldKey, String fieldValue) {
Map<String, String> retMap = new HashMap<>();
String key;
String value;
for (Map<String, String> map : listMap) {
key = map.get(fieldKey);
value = map.get(fieldValue);
if (StringUtils.isNotEmpty(value)) {
retMap.put(key, value);
}
}
return retMap;
}
}