List<map>转成list
时间: 2023-12-08 10:06:51 浏览: 18
假设你的List中的每个元素都是一个Map,你可以使用Java 8的stream和flatMap方法将它们转换为一个List。这里是一个示例代码:
```
List<Map<String, Object>> list = new ArrayList<>();
list.add(new HashMap<>());
list.add(new HashMap<>());
list.add(new HashMap<>());
List<Object> result = list.stream()
.flatMap(map -> map.values().stream())
.collect(Collectors.toList());
```
在这个示例中,我们首先创建了一个包含三个空Map的List。然后,我们使用stream方法将其转换为一个流。接下来,我们使用flatMap方法将每个Map中的值转换为一个单独的流。最后,我们使用collect方法将所有值收集到一个新的List中。
需要注意的是,这个示例中我们使用了Object类型来存储所有的值,如果你的Map中的值类型不同,你需要将collect方法中的参数类型改为相应的类型。
相关问题
list<map>转成list
假设你的 `List<Map>` 是这样的:
```
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>();
map1.put("name", "Alice");
map1.put("age", 25);
list.add(map1);
Map<String, Object> map2 = new HashMap<>();
map2.put("name", "Bob");
map2.put("age", 30);
list.add(map2);
```
你可以使用 `stream()` 方法将其转换为 `List`,如下所示:
```
List<Object> result = list.stream().flatMap(m -> m.values().stream()).collect(Collectors.toList());
```
这里的 `flatMap()` 方法将每个 `Map` 对象的值转换为一个 `Stream`,然后将所有的 `Stream` 合并成一个 `Stream`。最后使用 `collect()` 方法将所有的值收集到一个新的 `List` 中。这样,你就可以得到一个只包含所有值的 `List`。
Stream将list<map>转成list<Map<String,Object>>并排序
可以按照以下步骤将list<map>转成list<Map<String,Object>>并排序:
1. 遍历list<map>,将每个map转成Map<String,Object>类型,并添加到新的List中。可以使用Java8的Stream API来实现,代码如下:
```
List<Map<String, Object>> newList = oldList.stream()
.map(map -> new HashMap<String, Object>(map))
.collect(Collectors.toList());
```
2. 使用Collections.sort()方法对新的List进行排序。可以自定义Comparator来指定排序规则,比如按照某个键值的大小进行排序。代码如下:
```
Collections.sort(newList, new Comparator<Map<String, Object>>() {
@Override
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
// 比较规则,比如按照键值为"age"的大小进行排序
return Integer.compare((int) o1.get("age"), (int) o2.get("age"));
}
});
```
注意,这里我假设每个map中都包含一个名为"age"的整型键值,你需要根据实际情况来修改比较规则。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)