1. 重写Comparable中compareTo方法 或者 Comparator中compare方法
有两种方法 1.在代码块实现 2.在对象中重写compareTo方法
1.1 在代码块实现
TestA是对象
1. Collections.sort(listA, new Comparator<TestA>() {
@Override
public int compare(TestA o1, TestA o2) {
//升序
return o1.getOrder().compareTo(o2.getOrder());
}
}); LOGGER.info("listB 升序排序后:" +listA.toString());
Collections.sort(listA, new Comparator<TestA>() {
@Override
public int compare(TestA o1, TestA o2) {
//降序
return o2.getOrder().compareTo(o1.getOrder());
}
}); LOGGER.info("listB 降序排序后:" +listA.toString());
2.代码片实现方式同上
Collections.sort(listA, Collections.reverseOrder(new
Comparator<TestA>() {
public int compare(TestA arg0, TestA arg1)
{
return arg0.getOrder().compareTo(arg1.getOrder());
}
}));
1.2 在对象TestA中重写compareTo方法
1.TestA实现Comparable<TestA>
2.重写方法compareTo
@Override
public int compareTo(TestA o) {
//升序
return this.order.compareTo(o.getOrder());
}
3. 代码块修改为:
Collections.sort(listA)