List多条件排序,例如下面是先按主题颜色码排序,然后按父件排序,再然后按子件排序
plantLouList.sort(new Comparator<Map>() {
@Override
public int compare(Map o1, Map o2) {
String color1 = o1.get("COLORCODE").toString();
String color2 = o2.get("COLORCODE").toString();
if (color1.compareToIgnoreCase(color2) > 0){
return 1;
}else if (color1.compareToIgnoreCase(color2) < 0){
return -1;
}else {
String parentPart1 = o1.get("ASSEMBLYPARTBASE").toString();
String parentPart2 = o2.get("ASSEMBLYPARTBASE").toString();
if (parentPart1.compareToIgnoreCase(parentPart2) > 0){
return 1;
}else if (parentPart1.compareToIgnoreCase(parentPart2) < 0) {
return -1;
}else {
String childPart1 = o1.get("COMPONENTPARTBASE").toString();
String childPart2 = o2.get("COMPONENTPARTBASE").toString();
if (childPart1.compareToIgnoreCase(childPart2) > 0){
return 1;
}else if (childPart1.compareToIgnoreCase(childPart2) < 0) {
return -1;
}else {
return 0;
}
}
}
}
});