java8 List<Map>根据Map的某个key排序
时间: 2024-02-19 17:03:43 浏览: 75
您可以使用Java 8的lambda表达式和Comparator来对List<Map>根据Map的某个key进行排序。以下是示例代码:
假设您有以下List<Map>:
```
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>();
map1.put("name", "John");
map1.put("age", 25);
list.add(map1);
Map<String, Object> map2 = new HashMap<>();
map2.put("name", "Alice");
map2.put("age", 30);
list.add(map2);
Map<String, Object> map3 = new HashMap<>();
map3.put("name", "Bob");
map3.put("age", 20);
list.add(map3);
```
您可以使用以下代码按照Map中的“name”键进行排序:
```
list.sort(Comparator.comparing(m -> (String) m.get("name")));
```
如果您想要按照Map中的“age”键进行排序,则可以使用以下代码:
```
list.sort(Comparator.comparing(m -> (Integer) m.get("age")));
```
注意,这里使用了Java 8的lambda表达式来指定Comparator。`(m -> (String) m.get("name"))`表示根据Map中的“name”键进行排序,`(m -> (Integer) m.get("age"))`表示根据Map中的“age”键进行排序。
阅读全文