[英]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.