【发布时间】:2016-02-22 15:58:38
【问题描述】:
StreamEx 库似乎真的可以帮助我简洁地编写 Java 8 流,尤其是在考虑映射时(例如,使用 mapKeyValue,而不必手动拆箱映射条目)。
如果我在地图中有一个条目流,在 vanilla Java 8 中,我可以通过这种方式对这些值求和:
someMap.entrySet().stream()
.mapToDouble(Entry::getValue)
.sum()
我也可以在 StreamEx 中做到这一点,但我希望在 StreamEx 中看到更好的方法,尽管我能想到的最好方法是:
EntryStream.of(someMap)
.values()
.mapToDouble(d -> d)
.sum();
再好不过了。
我错过了更好的方法吗?
【问题讨论】:
-
您的解决方案还不错。我真的认为没有理由添加所有可能的快捷方式,如
.mapValuesToDouble等。有时最好强制用户进行两次调用,而不是添加快捷方式的二次数(可能的第一次调用次数 * 可能的第二次调用次数)。
标签: java java-8 java-stream streamex