可以使用 Collections.sort 方法来对 List<Map<String, Object>> 进行排序,可以自定义比较器来实现按照 Map 中的 ID 字段排序。以下是示例代码:

import java.util.*;

public class Main {
    public static void main(String[] args) {
        List<Map<String, Object>> list = new ArrayList<>();
        Map<String, Object> map1 = new HashMap<>();
        map1.put('ID', 3);
        map1.put('name', 'John');
        list.add(map1);
        Map<String, Object> map2 = new HashMap<>();
        map2.put('ID', 1);
        map2.put('name', 'Mike');
        list.add(map2);
        Map<String, Object> map3 = new HashMap<>();
        map3.put('ID', 2);
        map3.put('name', 'Alice');
        list.add(map3);

        // 按照 ID 字段排序
        Collections.sort(list, new Comparator<Map<String, Object>>() {
            @Override
            public int compare(Map<String, Object> map1, Map<String, Object> map2) {
                int id1 = (int) map1.get('ID');
                int id2 = (int) map2.get('ID');
                return id1 - id2; // 升序排序
            }
        });

        // 打印排序后的结果
        for (Map<String, Object> map : list) {
            System.out.println(map);
        }
    }
}

输出结果:

{ID=1, name=Mike}
{ID=2, name=Alice}
{ID=3, name=John}

上述代码中,我们通过自定义 Comparator 来实现按照 Map 中的 ID 字段进行排序。在 compare 方法中,我们将两个 Map 中的 ID 字段进行比较,如果 map1 的 ID 小于 map2 的 ID,则返回负数,如果两个 ID 相等,则返回 0,如果 map1 的 ID 大于 map2 的 ID,则返回正数。这样就可以实现按照 ID 字段的升序排序。

Java List<Map<String, Object>> 按照 Map 中的 ID 字段排序

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

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