hutool List<Map<Interget,Object>> 取map的某个值进行排序
时间: 2023-10-14 10:14:31 浏览: 192
Java中对list map根据map某个key值进行排序的方法
可以使用Java 8的lambda表达式和Stream API来完成该任务。具体步骤如下:
1. 使用`Stream`将`List<Map<Integer, Object>>`转换为`Stream<Map<Integer, Object>>`。
2. 使用`sorted`方法对`Stream`进行排序,可以通过`Comparator.comparing`方法指定排序的字段。
3. 使用`map`方法将`Stream<Map<Integer, Object>>`转换为`Stream<Object>`,并且通过`map.get`方法获取需要排序的字段。
4. 使用`collect`方法将`Stream<Object>`转换为`List<Object>`。
下面是示例代码:
```
List<Map<Integer, Object>> list = new ArrayList<>();
// 假设需要按照key为1的值进行排序
List<Object> sortedList = list.stream()
.sorted(Comparator.comparing(m -> (Integer) m.get(1)))
.map(m -> m.get(1))
.collect(Collectors.toList());
```
其中,`Comparator.comparing`方法的参数是一个lambda表达式,可以返回需要排序的字段。在这个例子中,使用`(Integer) m.get(1)`返回key为1的值进行排序,如果需要按照其他字段进行排序,可以修改lambda表达式的实现。
阅读全文