Java Map集合 转化为List 并为List排序
2016-03-30 22:48
483 查看
public class MapToList { public static void main(String[] args) { List<Student> studentList = new ArrayList<Student>(); //添加20个学生姓名和学号 for (int i=0;i<20;i++) { Student student = new Student(); student.setStudentName("张三"+(i+1)); student.setStudentNO((i+1)); studentList.add(student); } //获取Map K-V 类型 对象 Map<String,String> resultMap = List_ToMap(studentList); //获取List 对象 List<Student> resultList = Map_ToList( resultMap); for (Student s : resultList) { System.out.println(s.getStudentNO() +"\t"+s.getStudentName()); } } <strong>//List转换为Map public static Map<String,String> List_ToMap(List<Student> resultList) { Map<String,String> resultMap = new HashMap<>(); //获取参数值 List<Student> list = resultList; if (list.size() == 0 ) { return resultMap; } //遍历集合 for (Student stu : list ) { resultMap.put(String.valueOf(stu.getStudentNO()), stu.getStudentName()); } return resultMap; }</strong> //Map类型转换为List public static List<Student> Map_ToList(Map<String,String> resultMap) { List<Student> resultList = new ArrayList<>(); Map<String,String> map = resultMap; //如果为空直接返回 空对象 if (map.size() == 0) { return resultList; } <span style="color:#ff6666;">Set<Entry<String,String>> setEntry = map.entrySet(); Iterator<Entry<String, String>> it = setEntry.iterator(); while(it.hasNext()) { Entry<String, String> entry = it.next(); Student student = new Student(); student.setStudentNO(Integer.parseInt(entry.getKey())); student.setStudentName(entry.getValue()); resultList.add(student); }</span> //返回结果集 (并排序 ) <span style="color:#ff9900;">Comparator<Student> c = new Comparator<Student>() { @Override public int compare(Student o1, Student o2) { if (o1.getStudentNO() > o2.getStudentNO()) { return 1; } else { return -1; } } }; resultList.sort(c);</span> return resultList; } }
相关文章推荐
- Struts2与Struts1的区别
- #java读书笔记#多线程2
- Struts2在eclipse运行的必须包
- java基础--java.util.Date类型小结
- Java并发编程:线程池的使用
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- ajax中Json对象的使用(利用struts框架或者单独使用)
- Struts1和Struts2的区别和对比:
- #java读书笔记#多线程1
- 《JAVA源码分析》:Thread
- Java的类属性和实例属性
- Spring技术内幕——深入解析Spring架构与设计原理(一)IOC实现原理
- Spring Schedule 任务调度实现
- Java EE规范是如何制定的
- Spring MVC 流程图
- java16天
- java 引用传递,还是值传递 之坑
- Java_chapter14_抽象类和接口
- JDBC在springMvc等框架中使用的方式
- 内省(Introspector)操作JavaBean的属性