/***
* 排序类
* @author czf
*
*/
class MyComparator implements Comparator {
/**
* 实现compare
*/
public int compare(Object o1, Object o2) {
Map p1 = (Map) o1;
Map p2 = (Map) o2;
// 3个属性的比较
int flag1 = p1.get("WSNAMENUM").toString().compareTo(p2.get("WSNAMENUM").toString());
int flag2 = p1.get("YEAR").toString().compareTo(p2.get("YEAR").toString());
int flag3 = p1.get("Week").toString().compareTo(p2.get("Week").toString());
// 第一个相等,比较第二个
if (flag1 == 0) {
// 第二个相等,比较第三个
if (flag2 == 0) {
return flag3;
} else {
return flag2;
}
} else {
return flag1;
}
}
}调用
MyComparator my = new MyComparator();
/***
* List<Map> 排序
*/
Collections.sort(list, my);
本文介绍了一个Java中使用自定义比较器进行List排序的例子。通过实现Comparator接口并重写compare方法来对比Map对象中的多个属性(如WSNAMENUMYEARWeek),实现了复杂数据结构的有效排序。
4397

被折叠的 条评论
为什么被折叠?



