集合类型
小于 1 分钟java
排序
Map多属性排序
对 List<Map<String,Object>> 类型的数据的多个属性进行排序,不可多次调用 Collections.sort ,要在一次调用中对多个属性进行比较,根据多个属性的先后顺序对前面属性的比较结果提权 - 解决优先级。
Collections.sort(ret, new Comparator<Map<String, Object>>(){
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
Long execPlan1 = (Long) o1.get("execPlan");
Long execPlan2 = (Long) o2.get("execPlan");
Long parentId1 = (Long) o1.get("parentId");
Long parentId2 = (Long) o2.get("parentId");
Integer serialNo1 = (Integer) o1.get("serialNo");
Integer serialNo2 = (Integer) o2.get("serialNo");
// 将多个要素比较的结果拼接为字符串后进行排序
int i1 = execPlan1.compareTo(execPlan2) * 100;
int i2 = parentId1.compareTo(parentId2) * 10;
int i3 = serialNo1.compareTo(serialNo2);
return i1+i2+i3;
}
});
