LIst 的排序问题

  最近做了 一个 关于给list 排序的功能啥也不多说了,上代码:

 

 

 


// 给数据排序
        Collections.sort(infos, new Comparator<ScheduleGameInfo>() {
            SimpleDateFormat formatter = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");
            public int compare(ScheduleGameInfo g1, ScheduleGameInfo g2) {
                int flag=0;
                try {
                    Date u1date = formatter.parse(g1.getStartTime());
                    Date u2date=formatter.parse(g2.getStartTime());
                    flag= formatter.format(u2date).compareTo(formatter.format(u1date)); //降序
                }catch (ParseException e){
                log.error("按照比赛开始时间给小组轮次排序,时间格式化失败"+e.getMessage());
                }
                return flag;
            }
        });


  

这一种是list 里面是 map 对象

 

         List<Map<String, String>> ListMap = new ArrayList<>();
                Map<String, String> map = new HashMap<>();
                map.put("number", "1");
                map.put("a", "s");
                ListMap.add(map);
                Map<String, String> map1 = new HashMap<>();
                map1.put("number", "2");
                map1.put("a", "s");
                ListMap.add(map1);
                Map<String, String> map2 = new HashMap<>();
                map2.put("number", "61");
                ListMap.add(map2);
                Map<String, String> map3 = new HashMap<>();
                map3.put("number", "5");
                ListMap.add(map3);
                Map<String, String> map4 = new HashMap<>();
                map4.put("number", "4");
                ListMap.add(map4);

                Collections.sort(ListMap, new Comparator<Map>() {
                    public int compare(Map u1, Map u2) {

                        Integer a = Integer.parseInt((String) u1.get("number"));
                        System.out.println(a);
                        Integer b = Integer.parseInt((String) u2.get("number"));
                        System.out.println(b);
                        if (a > b)
                            return 1;
                        return -1;
                    }
                });
                for (int i = 0; i < ListMap.size(); i++) {
                    System.out.println("===" + ListMap.get(i));
                }

  

 

posted @ 2016-09-21 18:41  慕容哲别--  阅读(39)  评论(0)    收藏  举报