如非必须要使用Map,建议使用对象代替Map
List> list = new ArrayList<>();
Map map1 = new HashMap<>();
Map map2 = new HashMap<>();
Map map3 = new HashMap<>();
map1.put("TIME1", 1);
map2.put("TIME13", 2);
map3.put("TIME15", 3);
list.add(map3);
list.add(map2);
list.add(map1);
System.out.println(list);
list.sort(new Comparator>() {
@Override
public int compare(Map o1, Map o2) {
String s1 = "";
for (String s : o1.keySet()) {
s1 = s;
}
String s2 = "";
for (String s : o2.keySet()) {
s2 = s;
}
//获取TIME字符串后面的数字
Integer i1 = Integer.parseInt(s1.substring(4));
Integer i2 = Integer.parseInt(s2.substring(4));
return i1.compareTo(i2);
}
});
System.out.println("--------------");
System.out.println(list);