List转换成Map工具类的简单实例

时间:2022-09-15 09:00:41

实例如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public class List2MapUtils {
 
    /**
     * K: key class type, V: value class type
     *
     * @param sourceList
     * @param keyName
     *      key property
     * @param keyClass
     *      key Class type
     * @return
     */
    public static <K, V> Map<K, V> convert2Map(List<V> sourceList, String keyName, Class<K> keyClass) {
        Map<K, V> map = new HashMap<K, V>();
 
        if (sourceList == null || sourceList.isEmpty()) {
            return map;
        }
 
        for (V value : sourceList) {
 
            BeanWrapper beanWrapper = PropertyAccessorFactory.forBeanPropertyAccess(value);
            beanWrapper.setAutoGrowNestedPaths(true);
 
            K key = keyClass.cast(beanWrapper.getPropertyValue(keyName));
            if (key == null) {
                continue;
            }
            map.put(key, value);
        }
 
        return map;
    }
}

以上这篇List转换成Map工具类的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。