Java 中的List动态转Map集合
2016-08-31 16:36
162 查看
首先创建一个实体类
2.创建Util类
3.查看输出结果
pwd aaaaaaa
name 111111
pwd bbbbbbbbbbbb
name 2222222
package com.tyzou.controller; public class Test { private String name; private String pwd; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } }
2.创建Util类
import java.lang.reflect.Field; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; public class Util<T>{ /*** * List动态转Map * @return * @throws IllegalAccessException * @throws IllegalArgumentException */ public List<Map<String,Object>> listToMap(List<T> list,Class clazz) throws IllegalArgumentException, IllegalAccessException{ List<Map<String,Object>> maps=new ArrayList<Map<String,Object>>(); Field[] fs = clazz.getDeclaredFields(); //属性集合 for(Object obj:list){ Map<String,Object> map=new HashMap<String, Object>(); for(Field f:fs){ f.setAccessible(true); //设置些属性是可以访问的 Object val = f.get(obj);//得到此属性的值 if(f.getType().toString().endsWith("String")){ map.put(f.getName(), val); }else if(f.getType().toString().endsWith("Integer")){ map.put(f.getName(), val); }else if(f.getType().toString().endsWith("int")){ map.put(f.getName(), val); }else if(f.getType().toString().endsWith("float")){ map.put(f.getName(), val); }else if(f.getType().toString().endsWith("Float")){ map.put(f.getName(), val); }else if(f.getType().toString().endsWith("Double")){ map.put(f.getName(), val); }else if(f.getType().toString().endsWith("double")){ map.put(f.getName(), val); }else if(f.getType().toString().endsWith("Integer")){ map.put(f.getName(), val); } } maps.add(map); } return maps; } public static void main(String[] args) throws IllegalArgumentException, IllegalAccessException { Test test=new Test(); test.setName("111111"); test.setPwd("aaaaaaa"); Test test2=new Test(); test2.setName("2222222"); test2.setPwd("bbbbbbbbbbbb"); List<Test> list=new ArrayList<Test>(); list.add(test); list.add(test2); Util<Test> util=new Util<Test>(); List<Map<String,Object>> maps=util.listToMap(list, Test.class); for(Map<String,Object> map:maps){ Iterator i= map.entrySet().iterator(); while(i.hasNext()){ Map.Entry e=(Entry) i.next(); System.out.println(e.getKey()+" "+e.getValue()); } } } }
3.查看输出结果
pwd aaaaaaa
name 111111
pwd bbbbbbbbbbbb
name 2222222
相关文章推荐
- Java对集合的遍历 List ArryList HashMap LinkedMap JSON 数组等
- java集合map,set,list区别
- java集合map,set,list区别
- 【转帖】map,set,list,等JAVA中集合解析 - Java - cjw的资料
- JAVA集合的认识[Set,List,Map]
- java中List 、 Set、Map 集合类的区别
- (转)map,set,list,等JAVA中集合解析(了解)
- java 集合架构--[Collection] [List] [Set] [Map] [集合工具类]
- JAVA中集合map,set,list详解
- 黑马程序员_java集合(1) Collection & List & Set & Map
- map,set,list,等JAVA中集合解析
- java集合map,set,list区别
- java集合 set list map
- 黑马程序员-java的集合概念:Coleection,List,Map,Set之间的关系
- Java集合List,Set,Map基础
- java 中 各种集合(List Set Map) 去除重复项
- map,set,list,等JAVA中集合解析(了解)
- 浅谈JAVA集合 Map List Set等java集合类
- java中集合类list set map三者的区别和应用场合
- JAVA中集合map,set,list详解