要按照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中按照对ListMapStringObject按照里面map的字符串ID字段排序

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

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