Map<String,List<T>>转成List<T>
时间: 2023-08-24 13:04:02 浏览: 102
map转化为list
5星 · 资源好评率100%
可以使用 Java 8 中的流(Stream)来实现将 Map<String, List<T>> 转成 List<T> 的操作。以下是示例代码:
```java
Map<String, List<T>> map = ... // 假设已经有一个 Map<String, List<T>> 对象
List<T> list = map.values().stream() // 获取 Map 中的所有 value(即 List<T>)
.flatMap(Collection::stream) // 将所有 List<T> 中的元素合并成一个 Stream<T>
.collect(Collectors.toList()); // 将 Stream<T> 转成 List<T>
```
解释一下上面的代码:
1. 首先通过 `map.values()` 获取 Map 中的所有 value,得到一个 `Collection<List<T>>` 对象;
2. 然后调用 `stream()` 方法将其转成一个流;
3. 接着调用 `flatMap(Collection::stream)` 方法将所有 List<T> 中的元素合并成一个 Stream<T>;
4. 最后调用 `collect(Collectors.toList())` 方法将 Stream<T> 转成 List<T>。
这样就可以将 Map<String, List<T>> 转成 List<T> 了。
阅读全文