实体类public class Pager<T> implements Serializable {
/**
* 起始页码
*/
private int page;
/**
* 分页大小
*/
private int pageSize;
测试类public static void main(String[] args) {
List<Pager> r = new ArrayList<>();
Pager a = new Pager();
a.setPage(1);
a.setPageSize(10);
Pager b = new Pager();
b.setPage(3);
b.setPageSize(8);
Pager c = new Pager();
c.setPage(2);
c.setPageSize(9);
Pager d= new Pager();
d.setPage(4);
d.setPageSize(11); r.add(a);
r.add(b);
r.add(c);
r.add(d);
Collections.sort(r, new Comparator<Pager>() {
@Override
public int compare(Pager o1, Pager o2) {
if (o1.getPage() < o2.getPage()){
return -1;
}
if (o1.getPageSize() < o2.getPageSize()){
return -1;
}
return 0;
}
}); System.out.println(r);
}
打印结果: [Pager{page=2, pageSize=9}, Pager{page=3, pageSize=8}, Pager{page=1, pageSize=10}, Pager{page=4, pageSize=11}]为什么没有先按照page,再按照PageSize排序呢?
/**
* 起始页码
*/
private int page;
/**
* 分页大小
*/
private int pageSize;
测试类public static void main(String[] args) {
List<Pager> r = new ArrayList<>();
Pager a = new Pager();
a.setPage(1);
a.setPageSize(10);
Pager b = new Pager();
b.setPage(3);
b.setPageSize(8);
Pager c = new Pager();
c.setPage(2);
c.setPageSize(9);
Pager d= new Pager();
d.setPage(4);
d.setPageSize(11); r.add(a);
r.add(b);
r.add(c);
r.add(d);
Collections.sort(r, new Comparator<Pager>() {
@Override
public int compare(Pager o1, Pager o2) {
if (o1.getPage() < o2.getPage()){
return -1;
}
if (o1.getPageSize() < o2.getPageSize()){
return -1;
}
return 0;
}
}); System.out.println(r);
}
打印结果: [Pager{page=2, pageSize=9}, Pager{page=3, pageSize=8}, Pager{page=1, pageSize=10}, Pager{page=4, pageSize=11}]为什么没有先按照page,再按照PageSize排序呢?
@Override
public int compare(Pager o1, Pager o2) {
if (o1.getPage() < o2.getPage()){
return -1;
}else if (o1.getPage() > o2.getPage()){
return 1;
}else
return 0;
}
});
https://blog.csdn.net/MusicIsMyAll/article/details/89710173
return -1;
}
if (o1.getPageSize() < o2.getPageSize()){
return -1;
}
这两个if后边,都加上else return 1