精华内容
下载资源
问答
  • java中把map转换成list

    千次阅读 2013-08-08 15:14:29
    private String key;... //把map转换成list的公共方法 public static List mapToList(Map map){ List list=new ArrayList(); Iterator it=map.keySet().iterator(); while(it.hasNext()){ S
            private String key;
    	private String value;
    	
    	//把map转换成list的公共方法
    	public static List mapToList(Map map){
    		List list=new ArrayList();
    		Iterator it=map.keySet().iterator();
    		while(it.hasNext()){
    			String key=it.next().toString();
    			ExponseConstants exponseConstants=new ExponseConstants();
    			exponseConstants.setKey(key);
    			exponseConstants.setValue(map.get(key).toString());
    			list.add(exponseConstants);
    		}
    		return list;
    	}
    	
    	public String getKey() {
    		return key;
    	}
    	public void setKey(String key) {
    		this.key = key;
    	}
    	public String getValue() {
    		return value;
    	}
    	public void setValue(String val) {
    		this.value = val;
    	}

    展开全文
  • Java List Map转换成List T

    千次阅读 2018-07-26 16:36:58
    转换成一个List<T> 工具类,代码如下: ListMapToBeanUtils.java文件: package com.map.utils; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; import ...

    一)背景

    主要是为了实现数据之间的转换,方便数据展示。

    使用场景:当从数据库中查询出来的数据可能是List<Map<String, Object>>类型,可能会需要转换成具体的List<Class>格式。

     

    二)List<Map<String, Object>>转换成List<T>

    功能:传入List<Map<String, Object>>数据和需要转换的Class对象,返回一个List<Class>数据集合

    实现方式:Java反射方式

     

    实现源码:

    package com.oysept.utils;
    
    import java.lang.reflect.Field;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Map;
     
    public class ListMapToBeanUtils {
     
        /**
         * List<Map<String, Object>>转List<T>
         */
        public static <T> List<T> castMapToBean(List<Map<String, Object>> list, Class<T> clazz) throws Exception {
            if (list == null || list.size()==0) {
                return null;
            }
            List<T> tList = new ArrayList<T>();
            // 获取类中声明的所有字段
            Field[] fields = clazz.getDeclaredFields();
    		
            T t;
            for (Map<String, Object> map : list) {
                // 每次都先初始化一遍,然后再设置值
                t = clazz.newInstance();
                for (Field field : fields) {
                    // 把序列化的字段去除掉
                    if (!"serialVersionUID".equals(field.getName())) {
                        // 由于Field都是私有属性,所有需要允许修改
                        field.setAccessible(true);
    					
                        // 设置值, 类型要和vo中的属性名称对应好,不然会报类型转换错误
                        field.set(t, map.get(field.getName()));
                    }
                }
                tList.add(t); // 把转换好的数据添加到集合中
            }
            return tList;
        }
    }

     

    三)实体类PhoneVO.java

    package com.oysept.bean;
    
    import java.io.Serializable;
    
    /**
     * 实体类
     * @author ouyangjun
     */
    public class PhoneVO implements Serializable {
    	
        private static final long serialVersionUID = 1L;
    
        private String plate;
        private Long number;
        private Double memory;
        private Double size;
    
        public String getPlate() { return plate; }
        public void setPlate(String plate) { this.plate = plate; }
    
        public Long getNumber() { return number; }
        public void setNumber(Long number) { this.number = number; }
    
        public Double getMemory() { return memory; }
        public void setMemory(Double memory) { this.memory = memory; }
    
        public Double getSize() { return size; }
        public void setSize(Double size) { this.size = size;}
    }

     

    四)数据转换测试类

    package com.oysept.test;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import com.oysept.bean.PhoneVO;
    import com.oysept.utils.ListMapToBeanUtils;
    
    public class ListToBeanTest {
    
        public static void main(String[] args) throws Exception {
            // 初始化
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("plate", "hw");
            map.put("number", 13655555555L);
            map.put("memory", 4.0);
            map.put("size", 6.0);
    		
            Map<String, Object> map1 = new HashMap<String, Object>();
            map1.put("plate", "vivo");
            map1.put("number", 13677777777L);
            map1.put("memory", 5.5);
            map1.put("size", 3.8);
    		
            List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
            list.add(map);
            list.add(map1);
    		
            // List<Map<String, Object>>转List<T>
            List<PhoneVO> phoneList = ListMapToBeanUtils.castMapToBean(list, PhoneVO.class);
            System.out.println("==>phoneList.size(): " + phoneList.size());
            for (PhoneVO phone : phoneList) {
                System.out.println(phone.getPlate() + "\t" + phone.getNumber()
                    + "\t" + phone.getMemory() + "\t" + phone.getSize());
            }
        }
    }

    数据转换打印效果图:

     

    五)数据转换之JSON方式

    实现方式:下面提供一个用com.alibaba.fastjson实现List<Map<Object, Object>>转List<T>的方法。

    实现原理:先把List<Map<Object, Object>>格式的数据转换成json字符串,再把json字符串转换成List<Class>格式。

     

    在maven项目中pom.xml文件导入jar包

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.66</version>
    </dependency>

     

    实现源码:

    package com.oysept.utils;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Map;
    
    import com.alibaba.fastjson.JSONObject;
    
    /**
     * 
     * @author ouyangjun
     */
    public class ObjectToJsonUtils {
    
        /**
         * List<Map<Object,Object>>转换List<T>
         */
        @SuppressWarnings("unchecked")
        public static <T> List<T> castMapToBean(List<Map<Object, Object>> list, Class<?> beanClass) {
            List<T> returnList = new ArrayList<T>();
            if (list == null || list.size()==0) {
                return null;
            }
            
            String json = "";
            for (Map<Object, Object> map : list) {
                json = JSONObject.toJSONString(map);
            	
                // 添加到集合中
                returnList.add((T)JSONObject.parseObject(json, beanClass));
            }
            // 返回
            return returnList;
        }
    }

     

    识别二维码关注个人微信公众号

    本章完结,待续,欢迎转载!
     
    本文说明:该文章属于原创,如需转载,请标明文章转载来源!

    展开全文
  • 使用`Lambda`表达式将`Map`转化成`List`2.简单`Map`转化成`List`示例3.用户对象`Map`转化成`List`示例参考文献 在这个页面上,我们将提供Java8转换MapList的方法Collectors.toList()示例。 一个映射有键和值,我们...


    在这个页面上,我们将提供Java8转换MapList的方法Collectors.toList()示例。

    一个映射有键和值,我们可以将所有键和值作为列表来获取。

    如果我们想在一个类属性中设置keyvalue,然后把这个对象添加到List中,我们可以用java8的一行代码来实现Collectors.toList().

    现在让我们看看怎么做。

    1.使用Lambda表达式将Map转化成List

    Collectors.toList()方法中使用lambda表达式将Map转换为List,如下示例

    List<String> valueList = map.values().stream().collect(Collectors.toList()); 
    

    如果我们想在放入List之前对值进行排序,我们将按如下方式进行。

    List<String> sortedValueList = map.values().stream()
    			.sorted().collect(Collectors.toList());
    

    我们还可以使用给定的比较器(Comparator.comparing())将Map转换为用户对象List

    List<Person> list = map.entrySet().stream().sorted(Comparator.comparing(e -> e.getKey()))
    		.map(e -> new Person(e.getKey(), e.getValue())).collect(Collectors.toList()); 
    

    这里的Person是一个用户类。我们也可以使用Map.Entry获取Map的键和值如下。

    List<Person> list = map.entrySet().stream().sorted(Comparator.comparing(Map.Entry::getValue))
    		.map(e -> new Person(e.getKey(), e.getValue())).collect(Collectors.toList()); 
    

    作为比较,我们也可以使用Map.Entry.comparingByValue()Map.Entry.comparingByKey()分别根据值和键对数据进行排序。

    List<Person> list = map.entrySet().stream().sorted(Map.Entry.comparingByKey())
    	.map(e -> new Person(e.getKey(), e.getValue())).collect(Collectors.toList()); 
    

    2.简单Map转化成List示例

    SimpleMapToList.java

    package com.concretepage;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.stream.Collectors;
    public class SimpleMapToList {
    	public static void main(String[] args) {
    		Map<Integer, String> map = new HashMap<>();
    		map.put(23, "Mahesh");
    		map.put(10, "Suresh");
    		map.put(26, "Dinesh");
    		map.put(11, "Kamlesh");
    		System.out.println("--Convert Map Values to List--");
    		List<String> valueList = map.values().stream().collect(Collectors.toList());
    		valueList.forEach(n -> System.out.println(n));
    		
    		System.out.println("--Convert Map Values to List using sort--");
    		List<String> sortedValueList = map.values().stream()
    				.sorted().collect(Collectors.toList());
    		sortedValueList.forEach(n -> System.out.println(n));		
    		
    		System.out.println("--Convert Map keys to List--");
    		List<Integer> keyList = map.keySet().stream().collect(Collectors.toList());
    		keyList.forEach(n -> System.out.println(n));
    		
    		System.out.println("--Convert Map keys to List using sort--");
    		List<Integer> sortedKeyList = map.keySet().stream()
    				.sorted().collect(Collectors.toList());
    		sortedKeyList.forEach(n -> System.out.println(n));
    	}
    } 
    

    输出

    --Convert Map Values to List--
    Mahesh
    Suresh
    Dinesh
    Kamlesh
    --Convert Map Values to List using sort--
    Dinesh
    Kamlesh
    Mahesh
    Suresh
    --Convert Map keys to List--
    23
    10
    26
    11
    --Convert Map keys to List using sort--
    10
    11
    23
    26 
    

    3.用户对象Map转化成List示例

    MapToListOfUserObject.java

    package com.concretepage;
    import java.util.Comparator;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.stream.Collectors;
    public class MapToListOfUserObject {
    	public static void main(String[] args) {
    		Map<Integer, String> map = new HashMap<>();
    		map.put(23, "Mahesh");
    		map.put(10, "Suresh");
    		map.put(26, "Dinesh");
    		map.put(11, "Kamlesh");
    		
    		List<Person> list = map.entrySet().stream().sorted(Comparator.comparing(e -> e.getKey()))
    				.map(e -> new Person(e.getKey(), e.getValue())).collect(Collectors.toList());
    		
    		list.forEach(l -> System.out.println("Id: "+ l.getId()+", Name: "+ l.getName()));		
    	}
    } 
    

    Person.java

    package com.concretepage;
    public class Person {
    	private Integer id;
    	private String name;
    	public Person(Integer id, String name) {
    		this.id = id;
    		this.name = name;
    	}
    	public Integer getId() {
    		return id;
    	}
    	public String getName() {
    		return name;
    	}
    } 
    

    输出

    Id: 10, Name: Suresh
    Id: 11, Name: Kamlesh
    Id: 23, Name: Mahesh
    Id: 26, Name: Dinesh 
    

    如果我们需要按键来排序的话,我们可以使用键来排序

    Comparator.comparing(e -> e.getValue())
    

    然后输出如下。

    Id: 26, Name: Dinesh
    Id: 11, Name: Kamlesh
    Id: 23, Name: Mahesh
    Id: 10, Name: Suresh 
    

    参考文献

    【1】Java 8 Convert Map to List using Collectors.toList() Example

    展开全文
  • <P>map集合转化成xml字符串</P> <P>xml字符串转化成map集合 <P>list集合转化成xml字符串 <P>xml字符串转化成list集合</P>
  • # T对象转换成map对象/List对象 * 或者map对象/List对象转换为T对象 - **把T对象转换Map对象** - **Map对象转换为T对象** - **获得T对象的list中的一个 **

    # 为了做一个数据库的的工具类,使用对象快速查询则想到了对象之间的转换,在网上查找了好多都没有自己想要的,所以就下笔自己想了一个工具类,如果此工具能帮到你我希望更好了,如果对你没有用也不要怪我,因为我也不知道你想要什么样的,就算你想要的,我也不一定写得出来哈,请大家不要见怪哈

    初到而来写代码,如果问题请留言

    • 把T对象转换为Map对象

    • Map对象转换为T对象

    • 获得T对象的list中的一个


    T为实体对象,没有试过其他复杂对象(对象嵌套对象可能要修改一下)

    ObjectsSerializedMap < T >

    在工具类里导入这个包很重要
    import com.google.gson.Gson;

    可以去这里查看最新的包
    //http://www.mvnrepository.com/artifact/com.google.code.gson/gson
    我使用的是2.8.1的包
    as直接引用这个包就可以了 compile ‘com.google.code.gson:gson:2.8.1’

    废话不多说了直接上代码

    
    
    import com.google.gson.Gson;
    
    import java.lang.reflect.Field;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Map;
    
    /**
     * Created by Jay on 2017/9/13 0013.
     * T对象转换成amp对象
     * 或者map对象转换为T对象
     * <p>
     * user to map or map to user
     */
    
    public class ObjectsSerializedMap<T> {
        private T object;
        private Gson gson;
    
        /**
         * 把T对象转换为Map对象
         *
         * @param tClass T对象
         * @return Map<Object,Object>
         */
        public Map<Object, Object> getObjectMap(T tClass) {
            try {
                if (gson == null) {
                    gson = new Gson();
                }
                String jsonStr = gson.toJson(tClass);
                return gson.fromJson(jsonStr, Map.class);
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
        }
    
        /**
         * Map对象转换为T对象
         *
         * @param objectMap  Map<Object, Object>对象
         * @param object     Class<T> 对象
         * @return T对象
         */
        public T getT(Map<Object, Object> objectMap, Class<T> object) {
            try {
                //        //"通过Map.entrySet遍历key和value"   尤其是容量大时(相对来说 比2好一点 效率高)
    //        for (Map.Entry<Object, Object> entry : objectMap.entrySet()) {
    //            Field[] fields = object.getDeclaredFields();
    //            if ("$change".equals(fields[1].getName())
    //                    || "serialVersionUID".equals(fields[1].getName())) {//这是什么鬼...不知道,应该是install run的差分编译原因
                //如果想用此方法可以去自己把对象里的属性一个一个的添加
    //                continue;
    //            }
    //            System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
    //        }
                if (gson == null) {
                    gson = new Gson();
                }
                String jsonStr = gson.toJson(objectMap);
                return gson.fromJson(jsonStr, object);
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
        }
    
        List<T> tList = null;
    
        /**
         * 把对象转换为list对象
         *
         * @param tClass
         * @return
         */
        public List<T> setListT(T tClass) {
    //      try {
    //          if (gson==null){
    //              gson = new Gson();
    //          }
    //          String jsonStr = gson.toJson(tClass);//{"user":"4","ids":"3","avg":"2"}
    //          jsonStr="["+jsonStr+"]";
    //        //  [{"name":"name0","age":0}]//list数据、、[{"name":"name0","age":0}][{"name":"name1","age":5}][{"name":"name2","age":10}]
    //          return gson.fromJson(jsonStr,new TypeToken<List<T>>(){}.getType());
    //      }catch (Exception e){
    //          e.printStackTrace();
    //          return null;
    //      }
            try {
                if (tList == null) {
                    tList = new ArrayList<T>();
                }
                tList.add(tClass);
                return tList;
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
        }
    
        /**
         * 获得单个T对象
         * @return T 对象
         */
        public T getObjectList() {
            try {
                if (tList != null && tList.size() > 0) {
                    return tList.get(0);
                }
                return null;
            } catch (Exception e) {
                return null;
            }
        }
    }
    

    **源码地址:
    https://github.com/Jay-YaoJie/DbHelpeForAndroid

    我准备写sqlite 数据库需要的此工具,后期会有跟多更新哦,请多多支持!谢谢!**。

    展开全文
  • 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&...
  • Map转换List

    2019-11-15 10:19:02
    Map<String, String> map = new HashMap<>(); // Convert all Map keys to a List List result = new ArrayList(map.keySet()); // Convert all Map values to a ...List result2 = new ArrayList(map...
  • json转换成list map集合

    千次阅读 2019-04-21 19:26:56
    json转换成list map集合
  • 1,fastJSON 转化把jsonobject转化map String text = ...; // {"name":{"name":"ljw",age:18}} Map userMap = JSON.parseObject(text, new TypeReference>() {}); 可以参考以下链接,就是温少自己写的,很...
  • map转化list

    2019-08-14 01:12:22
    NULL 博文链接:https://yuhuiblog695685688425687986842568269.iteye.com/blog/2322286
  • LIST集合转换成MAP

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

    万次阅读 2017-06-18 18:07:07
    将一个Java示例转换MapList MapString, String> map = new HashMap>(); // Convert all Map keys to a List ListString> result = new ArrayList(map.keySet()); // Convert all Map values to a List List...
  • map集合转化成list集合

    千次阅读 2015-12-28 15:52:51
     public static ArrayList toList(HashMap,Emp> map){  ArrayList alist=new ArrayList();  Set set=map.keySet();  Iterator<String> it = set.iterator();  while(it.hasNext()){  //Object key=it.next(); ...
  • 今天在把List转化成JSON的时候,在网上找到的方法,就用了各种第三方的库,把自己搞晕了,其实是很简单。所以做事情的时候一定要思路清晰,导入的包也是很重要的,别上来就看代码,把自己整蒙圈了。。...
  • List转换List<Map>

    2014-11-04 22:02:33
    List转换List<Map>, List转换List<Object> list转化为 JsonArray ,list转换JsonArray
  • java将Map转换List

    2021-01-21 20:06:14
    Map数据转换为自定义对象的List,例如把map的key,value分别对应Person对象两个属性: List<Person> list = map.entrySet().stream().sorted(Comparator.comparing(e -> e.getKey())) .
  • 集合的转换-Map转换List

    千次阅读 2020-07-13 14:40:41
    集合的转换-Map转换List ** public EchartHistogram getAgePie(StatParamBo data) throws Exception { String userInfoPieTitle = "用户年龄占比"; //初始化各年龄段的人数和年龄段 Integer value0 = 0, value1...
  • XML格式字符串转换成Map,包括List

    千次阅读 2017-09-04 14:36:07
    XML格式字符串转换成Map,包括List
  • java list map转换成二维数组

    千次阅读 2018-01-07 14:02:00
    /** * *@Title: ListToArray *@Description: list列表转换成二维数组 *@Author: Administrator *@Since: 2018年1月7日下午2:01:25 *@param: @param list *@param: @param KeyLenght每行的列数,按最...
  • java中Json转换成MapList相关整理

    千次阅读 2018-12-20 14:17:18
    java中Json转换成MapList相关整理 一般前端传入后台的json数据都会封装再Map中的一个元素中,先获取json数据转换成String,通过JSON的parseObject方法转成Map,parseArray方法转成list。 /**praseObject方法适用...
  • java把实体对象转化成listmap

    万次阅读 2016-06-12 15:05:05
    普通方式: 某一个实体有较多字段,想把实体内的数据显示到excel中去,...下面是把实体对象转化成listmap的方法. 需要引用两个jar包:commons-beanutils-1.9.2.jar commons-logging-1.2.jar ​ package Tomap...
  • android json转换成List<Map>优化

    千次阅读 2016-02-19 17:10:38
     List<Map, Object>> list = null;   try   {   JSONArray jsonArray = new JSONArray(jsonString);   JSONObject jsonObject;   list = new ArrayList<Map, Object>>();  ...
  • java中Map转换List

    千次阅读 2015-12-21 16:28:50
    假设:Map,Value> map;使用如下方法即可转换成List:List<Value> list = new ArrayList(map.values());
  • * 将一个map组成的list实体类bean组成的list * @param mapList 存了map对象的list * @param clazz 需要将这些map哪个实体类对象 * @return */ public &lt;T&gt; List&lt;T&gt; ...
  • Map转换List一些方法

    万次阅读 2017-02-08 11:13:24
    因为用到了参考了 CSDN 大神Ricky_Fung ...// map的key与value 转换成List Map map = new HashMap(); map.put("第一个", "first"); map.put("第二个", "two"); List listKey =new ArrayList();// map的key集合
  • 转换List&lt;T&gt;controller里面的调用 @Login @PostMapping(value = "/save") @ApiOperation("新增用户课程") public R save(@RequestBody Map&lt;String, Object&g...
  • 获取map所有的value,并转换成list

    千次阅读 2019-12-04 14:38:17
    前言: 在工作中遇到一种情况,记录一下处理方式 数据库在作连表查询时,加油你的数据库有一个房子,房子关联着两张房子的照片,单个查询只有一条,但是你想关联查询时,会发现有两条记录,我只想展示一个房子,那么结果肯定...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 332,857
精华内容 133,142
关键字:

map转换成list