集合排序Collections.sort的用法
阿新 • • 發佈:2019-01-26
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)