我正在尝试改进我已经可以运行的代码,所以这就是事情,我有一个返回 a 的方法Map:
public Map<String, String> extractPartitionsValues(java.nio.file.Path marketFile) {
Map<String, String> map = new HashMap<>();
for (String p : this.partitions) {
map.put(p, partitionValueFromFilePath(p, marketFile.toString()));
}
return map;
}
Run Code Online (Sandbox Code Playgroud)
我想使用stream和collectorsToMap在一行中重新运行它,但我真的很菜,所以我阅读了文档和我发现的所有内容,但它仍然不起作用,有人可以帮我解决这个问题吗?
使用Collectors.toMap()withidentity()作为键和您对值的计算:
public Map<String, String> extractPartitionsValues(Path marketFile) {
return partitions.stream()
.collect(toMap(identity(), p -> partitionValueFromFilePath(p, marketFile.toString())));
}
Run Code Online (Sandbox Code Playgroud)