【发布时间】:2015-10-20 00:58:11
【问题描述】:
有没有更好的函数式方法可以使用 Java 8 lambda 语法将“key:value”形式的字符串数组转换为Map?
Arrays.asList("a:1.0", "b:2.0", "c:3.0")
.stream()
.map(elem -> elem.split(":")
.collect(Collectors.toMap(keyMapper?, valueMapper?));
我现在的解决方案似乎并不实用:
Map<String, Double> kvs = new HashMap<>();
Arrays.asList("a:1.0", "b:2.0", "c:3.0")
.stream()
.map(elem -> elem.split(":"))
.forEach(elem -> kvs.put(elem[0], Double.parseDouble(elem[1])));
【问题讨论】:
标签: java lambda functional-programming java-8 java-stream