Java的地图 - 如何获取自定义对象的列表作为一个单独的列表

fittaoee:

我有以下的Java地图,其中的值是一个自定义类型(EmployeeInfo)的列表:

Map<String, List<EmployeeInfo>> myMap;

我的目标是检索所有值从该映射一个单独的列表。到目前为止,我曾尝试以下,但没有取得它尚未工作:

// ERROR: The constructor ArrayList<EmployeeInfo>(Collection<List<EmployeeInfo>>) is undefined
List<EmployeeInfo> info = new ArrayList<EmployeeInfo>(myMap.values());

// ERROR: java.lang.ClassCastException: java.util.HashMap$Values cannot be cast to java.util.List
List<EmployeeInfo> info = (List)myMap.values();

任何人都可以提供任何帮助吗?提前致谢!

山姆:

您需要将转换Map<String, List<EmployeeInfo>>{[e1,e2], [e3,e4]}List<EmployeeInfo>[e1,e2,e3,e4]您可以通过平板映射值这样对列表。下面是使用流的方法:

List<EmployeeInfo> list = myMap.values() // gives you [[e1,e2],[e3,e4]]
                               .stream() // stream over them
                               .flatMap(List::stream) // convert to [e1,e2,e3,e4]
                               .collect(Collectors::toList); // collect back

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

转换列表对象为使用Java 8个流对象的自定义地图

如何将自定义对象列表传输到 Java 中的地图?

如何在 Java 中将自定义对象列表重新组合到地图中?

如何迭代以获取自定义地图?

Java中的列表与地图

在地图Java流列表中查找地图

如何调用其中有一个自定义的复杂对象类型作为从Java输入参数一个Oracle PL-SQL过程

如何使用 Java 8 合并两个不同类型的自定义对象列表

如何将一个POJO的列表转换地图<字符串,列表>在Java流?

Java的8:如何创建列表地图,主要是来自同一个类(EMPID)获取和值对象(雇员)本身?

Java流-从地图列表中获取地图

Java创建自定义地图

如何从一个阿帕奇nifi处理器其他传递复杂java对象(嵌套地图和列表)?

列表到地图的转换(Java)

如何转换列表<V>进入地图<K,名单<V >>,与Java 8流和自定义列表和地图供应商?

如何使用Java 8对同一个自定义对象执行多项操作

如何重写.equals以基于Java中的2个属性比较2个自定义对象的数组列表

如何滚动java地图的键列表?

如何使用 Java 8 将 LinkedHashMap 列表转换为自定义对象列表

使用Java 8流迭代地图的地图内的列表

合并从地图java8列表地图

在Java中将地图映射转换为地图列表

从地图填充Java对象的方法

用Java复制地图对象

Java8 Stream API:将列表分组到一个自定义类中

如何根据键列表从另一个地图中获取地图的子集?C++

Java的8个地图流

Java访问列表,该列表在地图中

如何压平列表的嵌套地图与Java 8个流?