精华内容
下载资源
问答
  • 下面小编就为大家带来一篇List转换成Map工具类的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • Java泛型将List转换成Map

    千次阅读 2017-03-31 22:47:31
    * @功能描述: 通过字段名称将list转换成Map * 以对应的字段的值作为key,对应的对象作为value * @param list * @param fieldName4Key * @param c * @return  * @date 2017年3月31日 * @author WEISANGENG *...
    /**
    * @功能描述: 通过字段名称将list转换成Map
    * 以对应的字段的值作为key,对应的对象作为value
    * @param list
    * @param fieldName4Key
    * @param c
    * @return 
    * @date 2017年3月31日
    * @author WEISANGENG
    */
    @SuppressWarnings("unchecked")
    public static <K, V> Map<K, V> listToMapByFiledName(List<V> list, String keyFieldName,Class<V> c) {  
            Map<K, V> map = new HashMap<K, V>();  
            if (list != null) {  
                try {
                //根据字段属性名称获取对应的字段信息
                    PropertyDescriptor propDesc = new PropertyDescriptor(keyFieldName, c);
                    //获取字段读的方法,即get方法
                    Method methodGetKey = propDesc.getReadMethod();  
                    for (int i = 0; i < list.size(); i++) {  
                        V value = list.get(i);  
                        K key = (K) methodGetKey.invoke(list.get(i));  
                        map.put(key, value);  
                    }  
                } catch (Exception e) {  
                    throw new IllegalArgumentException("field can't match the key!");  
                }  
            }  
            return map;  
        }

    /**
    * @功能描述: 通过方法名称将list转换成map
    * 以方法对应的属性名称为key,属性对应的对象为value
    * @param list
    * @param keyMethodName
    * @param c
    * @return 
    * @date 2017年3月31日
    * @author WEISANGENG
    */
    @SuppressWarnings("unchecked")
    public static <K, V> Map<K, V> listToMapByMethodName(List<V> list, String keyMethodName,Class<V> c) {  
            Map<K, V> map = new HashMap<K, V>();  
            if (list != null) {  
                try {
                //根据方法名称获取对象方法
                    Method methodGetKey = c.getMethod(keyMethodName);  
                    for (int i = 0; i < list.size(); i++) {  
                        V value = list.get(i);  
                        //根据对象反射原理获取属性名称
                        K key = (K) methodGetKey.invoke(list.get(i));  
                        map.put(key, value);  
                    }  
                } catch (Exception e) {  
                    throw new IllegalArgumentException("field can't match the key!");  
                }  
            }  
      
            return map;  
        }
    展开全文
  • 在编码过程中,往往我们有需要将List转换为Map,接下来我们就看看如何实现:package list_to_map; import java.lang.reflect.Method; import java.util.HashMap;... * 根据指定的实体类中的列名,将list转换成map *...
    在编码过程中,往往我们有需要将List转换为Map,接下来我们就看看如何实现:
    package list_to_map;
    
    import java.lang.reflect.Method;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    /**
     * 根据指定的实体类中的列名,将list转换成map
     * @author www
     *
     */
    public class ListToMap {
    
    	public static <K, V> Map<K,V> getMapFromListByProperty(List<V> list, String propertyName, Class propertyClass){
    		if(isEmpty(list)) {
    			return new HashMap<K, V>();
    		}
    		Class<?> clz = list.get(0).getClass();
    		Map<K,V> resultMap = new HashMap<K, V>(list.size());
    		Method mth = getPropertyMethod(clz,propertyName);
    		for(Object obj : list) {
    			Object value = null;
    			try {
    				value = mth.invoke(obj);
    			} catch (Exception e) {
    				throw new RuntimeException(e);
    			}
    			if(value == null) {
    				continue;
    			}
    			resultMap.put((K) propertyClass.cast(value), (V)obj);
    		}
    		return resultMap;
    		
    	}
    
    	/**
    	 * 获取属性的get()方法
    	 * @param clz
    	 * @param propertyName
    	 * @return
    	 */
    	private static Method getPropertyMethod(Class<?> clz, String propertyName) {
    		// TODO Auto-generated method stub
    		Method mth = null;
    		try {
    			mth = clz.getMethod(upFirstCharacter(propertyName));
    		} catch (Exception e) {
    			throw new RuntimeException("获取类名发生错误!");
    		}
    		return mth;
    	}
    	
    	/**
    	 * 修改获取名称
    	 * @param propertyName
    	 * @return
    	 */
    	private static String upFirstCharacter(String propertyName) {
    		if(propertyName == null || propertyName.isEmpty()) {
    			System.out.println("获取类名发生错误!");
    			return null;
    		}
    		char x = propertyName.charAt(0);
    		String partOfPropertyName  = propertyName.substring(1);
    		StringBuffer newPropertyName = new StringBuffer();
    		newPropertyName.append("get").append(Character.toUpperCase(x)).append(partOfPropertyName);
    		propertyName = newPropertyName.toString();
    		return propertyName;
    	}
    
    	/**
    	 * 判断list是否为空
    	 * @param list
    	 * @return
    	 */
    	private static <V> boolean isEmpty(List<V> list) {
    		if(list.isEmpty() || list == null) {
    			return true;
    		}
    		return false;
    	}
    }
    

    展开全文
  • userList.stream().collect(Collectors.toMap(User::getId, User::getName)); userList.stream().collect(Collectors.toMap(User::getId, t -> t)); for (User user : list) { Set<Integer> addressesIds...
    userList.stream().collect(Collectors.toMap(User::getId, User::getName));
    userList.stream().collect(Collectors.toMap(User::getId, t -> t));
            for (User user : list) {
                Set<Integer> addressesIds = addressesList.stream().map(Address::getId).collect(Collectors.toSet());
                if (addressesIds.contains(user.getAddress())){
                    String s = addressMap.get(user .getAddress());
                    user .setAddressName(s);
                }
            }
    
    展开全文
  • java8 List转换成map

    2020-07-16 18:12:54
    studentList = new ArrayList<>(); Student student1 = new Student("001", "谢霆锋"); Student student2 = new Student("002", "张学友"); Student student3 = new Student("003", "张柏芝"); student...
     ArrayList<Student> studentList = new ArrayList<>();
            Student student1 = new Student("001", "谢霆锋");
            Student student2 = new Student("002", "张学友");
            Student student3 = new Student("003", "张柏芝");
            studentList.add(student1);
            studentList.add(student2);
            studentList.add(student3);
    
            Map<String, Student> collect = studentList.stream().collect(Collectors.toMap(Student::getNumber, (s) -> s));
            System.out.println(collect);
            for (Map.Entry<String, Student> key1 : collect.entrySet()) {
                System.out.println(key1.getKey()+  ""+ key1.getValue());
            }
    
    展开全文
  • List转换成Map工具类

    千次阅读 2017-01-11 11:13:32
    public class List2MapUtils { /** * K: key class type, V: value class type * * @param sourceList * @param keyName * key property * @param keyClass * key Class typ
  • 三种将List转换成Map的方法

    千次阅读 2014-11-19 16:05:53
    在本文中,介绍三种将list转换map的方法:  1) 传统方法  假设有某个类如下    Java代码  class Movie {     private Integer rank;   private String description;   ...
  • 数据库取出来的list转换成[小明,18,小红,20,大熊,17](String类型list。 项目中这段代码是这样实现的 ``` public List executeSQL(String sql){ log.debug(sql); List<String> aList = new ArrayList(); ...
  • list map 转换成map 数组

    2019-09-24 10:39:14
    List<Map<String, Object>> users =new ArrayList<Map<String, Object>>(); try{ users = userService.getNotSyncData(); }catch (Exception e){ ...
  • LIST集合转换成MAP

    千次阅读 2016-01-27 17:10:06
    最近工作中一个需求需要从数据库中取出数据存入List集合中转换成Map,通过Map的Key值获取content,写了好久都空指针,记录下,思路通过遍历list中的元素放入Map中。 String sql = "select * from GE_PD_...
  • List 集合转换成List Map 集合

    千次阅读 2019-01-04 10:46:02
    * List 集合转换成List Map 集合 */ public class ConvertListMapUtil { public List<Map<String,Object>> convertListMap(List<Object> list){ List<Map<String, Object&...
  • # T对象转换成map对象/List对象 * 或者map对象/List对象转换为T对象 - **把T对象转换为Map对象** - **Map对象转换为T对象** - **获得T对象的list中的一个 **
  • java8最简单的list列表转换成map类型

    千次阅读 2019-01-10 11:56:27
    list列表转换成map结构 方法一: Map&lt;Integer, Student&gt; mapStream = studentList.stream().collect(Collectors.toMap(Student::getNumber, Student -&gt; Student)); 方法二: Map&lt;...
  • json转换成list map集合

    千次阅读 2019-04-21 19:26:56
    json转换成list map集合
  • List 如何转换成MAP

    2012-03-27 14:06:42
    一个list数据如下 ...要转 MAP 数据格式如下 [a,list1] list1={1,2,3} [s,list2] list2={1,3} for (int i = 0; i < list.size(); i++) { Object[] s=list.get(i); 怎么写现在??? }
  • list如何转换成map遍历

    2015-11-27 14:35:11
    比如我list现在 有id name password 三个属性。 如何转换成map。 并且遍历呢。
  • XML格式字符串转换成Map,包括List

    千次阅读 2017-09-04 14:36:07
    XML格式字符串转换成Map,包括List
  • java中Json转换成MapList相关整理

    千次阅读 2018-12-20 14:17:18
    java中Json转换成MapList相关整理 一般前端传入后台的json数据都会封装再Map中的一个元素中,先获取json数据转换成String,通过JSON的parseObject方法转成Map,parseArray方法转成list。 /**praseObject方法适用...
  • list转换成Map的三种方法 去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片. /** * 科目实体类 */ public class Subject { private Integer id; private String subjectName; ...
  • 1,将list实体类转换成list map 数据准备: 测试: 2,将listmap转换成list实体类 数据准备: 测试: 总结 在写代码的时候,遇到了要将List<实体类>改成List<Map>的情况,要怎么做呢? 这边...
  • List转成成Map public static Map, Goods> listToMap(List<Goods> goods){ Map,Goods> listMap = goods.stream().collect(Collectors.toMap(x->x.getUserId(),x->x,(oldVal, newVal) -> newVal)); return listMap; ...
  • 将xml字符串转换成maplist 的转换

    千次阅读 2017-08-14 16:39:23
    public static Map transXmlStringToMap(String xml) { Map map = new HashMap(); Document doc = null; try { doc = DocumentHelper.parseText(xml); // 将字符串转为XML Element rootElt = doc.getRootElemen
  • list<Map>转换成JavaBean的工具类

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,200
精华内容 480
关键字:

list转换成map