- 重写对象的 Comparable<xxx>
对象 Item implements Comparable<Item>
/**
* 基于4.24需求
由于对应字段是数字的string类型,所以转换成BigDecimal 类型进行比较
* @param o
* @return
*/
@Override
public int compareTo(Item o) {
Integer i = new BigDecimal(this.getTotalShare()).compareTo(new BigDecimal(o.getTotalShare()));
/**
* i等于0的时候表示相等;
* i等于1的时候表示大于;
* i等于-1的时候表示小于;
*/
return i;
}
- 对于对象数据进行重排序
public List<Item> sortingItem(List<Item> itemsSort) {
if (ObjectUtils.isEmpty(itemsSort)) {
return Collections.EMPTY_LIST;
}
List<Item> result_mayi = new ArrayList<>();
List<Item> result_normal = new ArrayList<>();
List<Item> result = new ArrayList<>();
//重用旧的排序方法,通过设置系统属性
System.setProperty("java.util.Arrays.useLegacyMergeSort", "true");
Collections.sort(result_mayi);
Collections.reverse(result_mayi);
Collections.sort(result_normal);
Collections.reverse(result_normal);
result.addAll(result_mayi);
result.addAll(result_normal);
return result;
}
System.setProperty("java.util.Arrays.useLegacyMergeSort", "true"); 是因为对应jdk7
这里用到了Collections.EMPTY_LIST
cyMergeSort", "true");
参考网址 https://blog.csdn.net/yaomingyang/article/details/80769745
https://blog.csdn.net/iteye_20215/article/details/82672137
https://blog.csdn.net/qq_39366175/article/details/79449178