twe*_*sat 3 java java-8 java-stream
我有一个Map<String,ExtractedData> extractedDatas,我想提取一些数据作为返回结果.我对Stream API很新,我不明白我必须做什么.我试过了
public Map<String,ExtractedData> getExtractedData(String name)
{
return extractedDatas.entrySet().stream()
.filter(entry -> entry.getKey().startsWith(name))
.filter(entry -> entry.getValue().getFieldValue() != null && entry.getValue().getFieldValue() != "")
.collect(Collectors.toMap(...);
}
Run Code Online (Sandbox Code Playgroud)
我该怎么办Collectors.toMap?
您只需将映射元素的函数传递Stream给输出的键和值Map.
在您的情况下,它只是Map.EntryStream 的元素的关键和价值.
public Map<String,ExtractedData> getExtractedData(String name)
{
return extractedDatas.entrySet().stream()
.filter(entry -> entry.getKey().startsWith(name))
.filter(entry -> entry.getValue().getFieldValue() != null && entry.getValue().getFieldValue() != "")
.collect(Collectors.toMap(Map.Entry::getKey,Map.Entry::getValue));
}
Run Code Online (Sandbox Code Playgroud)