繁体   English   中英

转换地图 <String, List<String> &gt;到地图 <String, Object[]>

[英]Convert a Map<String, List<String>> to Map<String, Object[]>

除了for循环外Map<String, List<String>>还有没有更好的方法可以将Map<String, List<String>>Map<String, Object[]> ,反之亦然? 更好的是,我的意思是使用任何库或Lambda表达式

按照Java 8中所述的方法尝试了如何使用lambda将Map转换为另一个Map?

final Map<String, List<String>> listMap = new HashMap<>();
listMap.put("Dog", Arrays.asList("Boxer","Julie"));
listMap.put("Cat", Arrays.asList("Cat1","Cat2"));

Map<String,Object[]> objectMap = listMap.entrySet().stream()
    .collect(Collectors.toMap(e->e.getKey(), e->e.getValue().toArray()));

这工作了。 该代码是否存在任何问题,或者可以进一步改进?

可以创建一个覆盖java.util.Map接口中适当方法的自定义Map类,以处理“惰性”转换。

这样的类将使用Map<String, List<String>>Map<String, Object[]>对象初始化,并作为本机Map<String, Object[]>Map<String, List<String>> , 分别。

暂无
暂无

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

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