待排序的List格式List<Map>
升序
对Map中的Int属性排序
public static List<Map<String, Object>> listContainMapSortByIntAsc(List<Map<String, Object>> list) {
Collections.sort(list, new Comparator<Map<String, Object>>() {
@Override
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
/*name1是从你list里面拿出来的一个*/
int name1 = Integer.parseInt(o1.get("allCounts").toString());
/*name1是从你list里面拿出来的第二个name*/
int name2 = Integer.parseInt(o2.get("allCounts").toString());
int value = name2 - name1;
return value;
}
});
return list;
}
降序
对Map中的String属性排序
public static List<Map<String, Object>> listContainMapSortByStringDesc(List<Map<String, Object>> list, String orderByParams) {
Collections.sort(list, new Comparator<Map<String, Object>>() {
@Override
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
/*name1是从你list里面拿出来的一个*/
String name1 = o1.get(orderByParams).toString();
/*name1是从你list里面拿出来的第二个name*/
String name2 = o2.get(orderByParams).toString();
return name2.compareTo(name1);
}
});
return list;
}
说明在这里只示范了Int类型升序,String类型降序,若调节升降序,只需改变 代码中(name2 - name1)的顺序即可。