我有一个列表,其内容是带有字符串键和值(如果类型为 String 或 Long)的 Map。
[{
"name": "Abc",
"id": 1522047548000
},
{
"name": "Xyz",
"id": 1522048221000
}]
如何对列表进行排序
- 基于很长的 id
- 基于字符串名称
最佳答案
从 JAVA 1.8 开始,java.util.Comparator 中有一个名为“比较”的新方法。 它返回通过给定键比较对象的比较器。 https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html#comparing-java.util.function.Function-
在这种情况下,按名称进行比较,如下所示:
list.sort(Comparator.comparing(o -> String.valueOf(o.get("name"))));
并按 id 进行比较:
list.sort(Comparator.comparing(o -> (Long) o.get("id")));
关于java - 按映射中的特定键对 List<Map<String, Object>> 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49644888/