对list<map<string,object>>Java结构 按照key排序
时间: 2023-12-08 12:06:26 浏览: 80
Java中对list map根据map某个key值进行排序的方法
可以使用Java 8中的Stream API和Comparator来对list<map<string,object>>按照key排序,示例代码如下:
```java
List<Map<String, Object>> list = new ArrayList<>();
//添加数据到list中
Map<String, Object> map1 = new HashMap<>();
map1.put("b", "value1");
map1.put("a", "value2");
map1.put("c", "value3");
list.add(map1);
Map<String, Object> map2 = new HashMap<>();
map2.put("c", "value4");
map2.put("b", "value5");
map2.put("a", "value6");
list.add(map2);
//按照key排序
list.stream()
.map(Map::entrySet)
.forEach(entry -> entry.stream()
.sorted(Comparator.comparing(Map.Entry::getKey))
.forEachOrdered(System.out::println));
```
输出结果为:
```
a=value2
b=value1
c=value3
a=value6
b=value5
c=value4
```
这里使用了stream()方法将list转换成流,然后使用map()方法将每个map转换成entrySet()流。接着使用forEach()方法遍历每个entrySet()流,并使用sorted()方法按照key排序。最后使用forEachOrdered()方法输出排序后的结果。
阅读全文