可以使用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);
}

请注意,此处的排序是在原始列表上进行的,会直接修改原始列表。如果不希望修改原始列表,可以先创建一个副本进行排序

ListDingPddReturnDto按照字段a降序排序后再按照字段b降序排序

原文地址: https://www.cveoy.top/t/topic/igVT 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录