Map<String, List<T>> 到 List<T> 的转换
时间: 2023-10-14 18:07:49 浏览: 153
List<Map<String, Object>>转化为List<JavaBean>工具类
4星 · 用户满意度95%
可以使用流操作来实现 `Map<String, List<T>>` 到 `List<T>` 的转换。具体实现可以参考以下代码:
```java
Map<String, List<T>> map = ...; // 假设已经有一个 Map<String, List<T>> 对象
List<T> list = map.values().stream()
.flatMap(Collection::stream)
.collect(Collectors.toList());
```
上述代码中,首先通过 `map.values()` 方法获取 `Map` 中所有的 `List<T>` 值集合,然后使用 `flatMap` 方法将多个 `List<T>` 合并成一个 `Stream<T>` 流,最后使用 `Collectors.toList()` 方法将所有元素收集到一个 `List<T>` 集合中。
需要注意的是,上述代码只能保证 `List<T>` 中元素的顺序,不能保证不重复。如果需要去重,可以在 `Collectors.toList()` 方法前加上 `distinct()` 方法。
阅读全文