ListDingPddReturnDto按照字段a降序排序后再按照字段b降序排序
可以使用Java的Collections.sort()方法来实现按照多个字段进行排序。首先,我们需要实现一个Comparator接口来定义排序规则。
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class DingPddReturnDtoSorter {
public static void sort(List<DingPddReturnDto> list) {
// 按照字段a降序排序
Collections.sort(list, new Comparator<DingPddReturnDto>() {
@Override
public int compare(DingPddReturnDto o1, DingPddReturnDto o2) {
return o2.getFieldA().compareTo(o1.getFieldA());
}
});
// 如果字段a相等,再按照字段b降序排序
Collections.sort(list, new Comparator<DingPddReturnDto>() {
@Override
public int compare(DingPddReturnDto o1, DingPddReturnDto o2) {
if (o1.getFieldA().equals(o2.getFieldA())) {
return o2.getFieldB().compareTo(o1.getFieldB());
} else {
return 0;
}
}
});
}
}
其中,DingPddReturnDto为需要排序的对象类型,getFieldA()和getFieldB()为获取字段a和字段b的方法。
使用示例:
List<DingPddReturnDto> list = new ArrayList<>();
// 添加要排序的对象到list中
DingPddReturnDtoSorter.sort(list);
// 输出排序后的结果
for (DingPddReturnDto dto : list) {
System.out.println(dto);
}
请注意,此处的排序是在原始列表上进行的,会直接修改原始列表。如果不希望修改原始列表,可以先创建一个副本进行排序
原文地址: https://www.cveoy.top/t/topic/igVT 著作权归作者所有。请勿转载和采集!