要按照 List<Map<String, Object>> 中的 Map 的字符串 ID 字段排序,可以使用 Collections.sort() 方法,并传入一个自定义的 Comparator 对象。

首先,实现一个 Comparator 对象,用于比较两个 Map 对象的字符串 ID 字段:

import java.util.Comparator;
import java.util.Map;

public class MapComparator implements Comparator<Map<String, Object>> {
    @Override
    public int compare(Map<String, Object> map1, Map<String, Object> map2) {
        String id1 = (String) map1.get('ID');
        String id2 = (String) map2.get('ID');
        return id1.compareTo(id2);
    }
}

然后,在主程序中使用 Collections.sort() 方法按照自定义的 Comparator 对象对 List<Map<String, Object>> 进行排序:

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

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', '2');
        map1.put('Name', 'John');
        list.add(map1);
        
        Map<String, Object> map2 = new HashMap<>();
        map2.put('ID', '1');
        map2.put('Name', 'Alice');
        list.add(map2);
        
        Map<String, Object> map3 = new HashMap<>();
        map3.put('ID', '3');
        map3.put('Name', 'Bob');
        list.add(map3);
        
        // 按照 Map 的字符串 ID 字段排序
        Collections.sort(list, new MapComparator());
        
        // 输出排序后的结果
        for (Map<String, Object> map : list) {
            System.out.println('ID: ' + map.get('ID') + ', Name: ' + map.get('Name'));
        }
    }
}

以上代码将输出:

ID: 1, Name: Alice
ID: 2, Name: John
ID: 3, Name: Bob
Java List<Map<String, Object>> 中 Map 的字符串 ID 字段排序

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

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