Java List<Map<String, Object>> 中 Map 的字符串 ID 字段排序
要按照 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
原文地址: https://www.cveoy.top/t/topic/qqfM 著作权归作者所有。请勿转载和采集!