java中按照对ListMapStringObject按照里面map的ID字段排序
可以使用Collections.sort方法来对List进行排序,可以自定义比较器来实现按照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字段的升序排序
原文地址: http://www.cveoy.top/t/topic/iJZg 著作权归作者所有。请勿转载和采集!