繁体   English   中英

如何将List的Map的值转换为单个List

[英]How to convert the values of a Map of List to a single List

如何将Map<Object1, List<Object2>>的值转换为List<Object2>的最佳(高效且简单)方法。 我应该简单地遍历所有条目和adAll的项目清单?

这是第三种方式,因此您不需要创建ArrayList,这是您实际要求的。 这是使用流的正确方法,因为您没有更改任何对象的状态。

List<Object2> values = myMap.values()
                            .stream()
                            .flatMap(Collection::stream)
                            .collect(Collectors.toList());

刚发现它:

 List<Object2> list = myMap.values()
                           .stream()
                           .flatMap(item -> item.stream())
                           .collect(Collectors.toList()));

使用addAll的一个选项。

List<Object2> list = new ArrayList<>();
myMap.values().forEach(list::addAll);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM