Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从地图添加值<;T、 列表<;L>&燃气轮机;映射到列表<;L>;?_Java_List_Dictionary - Fatal编程技术网

Java 如何从地图添加值<;T、 列表<;L>&燃气轮机;映射到列表<;L>;?

Java 如何从地图添加值<;T、 列表<;L>&燃气轮机;映射到列表<;L>;?,java,list,dictionary,Java,List,Dictionary,我有一个多重映射映射映射,我需要一个包含映射中所有值的列表,即列表。使用map.values()我可以得到一个列表,但这不是我想要的 有人知道没有循环的干净解决方案吗?如果您使用Java 8,您可以通过以下方式从所有列表中收集所有值: 如果您使用的是Java8,那么可以使用Streammap.values().Stream().flapMap(l->l.Stream()).collect(Collectors.toList())一个简单的“java列表到列表”搜索将为您找到答案。先搜索再提问。查

我有一个多重映射
映射映射
,我需要一个包含映射中所有值的列表,即
列表
。使用
map.values()
我可以得到一个
列表,但这不是我想要的


有人知道没有循环的干净解决方案吗?

如果您使用Java 8,您可以通过以下方式从所有
列表中收集所有
值:


如果您使用的是Java8,那么可以使用Stream
map.values().Stream().flapMap(l->l.Stream()).collect(Collectors.toList())一个简单的“java列表到列表”搜索将为您找到答案。先搜索再提问。查找地图和多重地图:)但我肯定应该学习我的搜索技能!你应该把这个问题标记为一个重复的问题。@DavidPérezCabrera这是一个答案,而不是一个评论。好的,也许它必须讨论java 8需求和流API@DavidP我提到了Java8,并为JDK<8添加了另一种方法。谢谢你指出。
final List<L> list = map
        // get a Collection<List<L>>
        .values()
        // make a stream from the collection
        .stream()
        // turn each List<L> into a Stream<L> and merge these streams
        .flatMap(List::stream)
        // accumulate the result into a List
        .collect(Collectors.toList());
final List<L> list = new ArrayList<>();

for (final List<L> values : map.values()) {
    list.addAll(values);
}