Files.lines()
会返回文件中每行的Stream<String>
。我想要的是一个地图流,关键是行,文件名是值。这必须是管道中的中间结果,而不是终端。
实现这一目标的最佳方法是什么?
答案 0 :(得分:1)
您可以尝试以下操作:
final String fileName = ""; //File name
List<String> lines = new ArrayList(); //Get the lines
lines.stream()
.map(l -> {
Map<String, String> map = new HashMap<>();
map.put(l, fileName);
return map;
});
您可以使用Google Guava的ImmutableMap
课程来创建地图(简化版),例如
final String fileName = "";
List<String> lines = new ArrayList();
lines.stream()
.map(l -> ImmutableMap.of(l, fileName));