【发布时间】:2014-07-09 01:36:09
【问题描述】:
在 java 中我有一个自定义类,我将其排序如下:
public static void sortList(List<FishCategory> categories) {
Collections.sort(categories, new Comparator<FishCategory>(){
public int compare(FishCategory s1, FishCategory s2) {
return s1.getName().compareTo(s2.getName());
}
});
}
但是像 sql 一样,你可以这样做:
select * from mytable
order by id, name
我想在 java 中进行双重排序。我想按这个排序(注意:我使用getParentId)作为第一个排序,然后我想像上面那样排序。
public static void sortList(List<FishCategory> categories) {
Collections.sort(categories, new Comparator<FishCategory>(){
public int compare(FishCategory s1, FishCategory s2) {
return s1.getParentId().compareTo(s2.getParentId());
}
});
}
我不能在下一个会取消第一次排序的原因之后立即运行这两个函数。我需要按照 sql 的方式进行排序(即对已排序的组进行排序)。
所以我想先按.getParentId() 排序,然后是.getName()。
有没有人知道一个容易做到这一点的好方法?
谢谢
【问题讨论】: