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));
}

浙公网安备 33010602011771号