【发布时间】:2016-10-16 07:18:27
【问题描述】:
我正在寻找一种以干净的方式优化Stream 处理的方法。
我有类似的东西:
try (Stream<Path> stream = Files.list(targetDir)) {
Map<String, List<Path>> targetDirFilteredAndMapped = stream.parallel()
.filter(path -> sd.containsKey(md5(path)))
.collect(Collectors.groupingBy(path -> md5(path)));
} catch (IOException ioe) { // manage exception }
由于md5 函数非常昂贵,我想知道是否有一种方法可以在每个文件中只调用一次。
有什么建议吗?
【问题讨论】:
-
元组会很好,如果 java 有的话。 (和自动拆包,让它看起来不错)
标签: java java-8 java-stream