关于java使用Comparator多列数据升序、降序排列的问题。哪位大侠能解决

关于java使用Comparator多列数据升序、降序排列的问题。哪位大侠能解决
编号,会员号,客户号,产品号,录入顺序号
1 ,001, 00003, mn01, 10001
2 ,001, 00004, mn01, 10002
3 ,002, 00002, mn02, 10003
……
要求排序如下:
先根据产品号升序,再根据会员号升序,再根据客户号升序,再根据录入顺序号降序排列。
想了好久没想出来,等待哪位大侠来帮忙解决。
目前用的是collection.sort(list,new Comparator);不会做,
list中放的是对象吧。
重写一稿磨下compare方法就行啊。
一个多if判断的问题,
升序代码

如果(产品好相等){
升键梁斗序代码

如果(会员号相等){
升序代码
如果(客户号相等){
降序代码
如果(顺序号相等渣核){
}

}

}

}
升序和降序其实就是a>b是return 1还是return -1 的事。
如果需要代码就接着追问。
Comparator<产品> comparator = new Comparator<产品>() {
@Override
public int compare(产品 o1, 产品 o2) {
int result = o1.get产品号().compareTo(o2.get产品号());
if (result == 0) result = o1.get会员宏森号().compareTo(o2.get会员号());
if (result == 0) result = o1.get客户号().compareTo(o2.get客户号());
if (result == 0) result = o2.get录入顺誉察序号().compareTo(o1.get录蔽虚亩入顺序号());
return result;
};
一个比较器实现不了吧!不要使用一个比较器,尽量!
使用Comparator ,要自己实现一个比较器
← 上一篇: 下一篇: →