【发布时间】:2016-10-09 14:31:43
【问题描述】:
在过去的几个小时里,我尝试了两次解决这个小问题。 我想使用以下命令从 txt 文件中读取:
Stream<String> stream = Files.lines(Paths.get(fileName))
输入看起来像:
b -> l;
c -> a;
a -> d;
c -> l;
现在我想像这样映射它。
{a,=d, b=l, c=[a,l]}
我尝试使用 java 流 API 来做到这一点:
stream.map(x->x.split(" -> ")).collect(Collectors.toMap(x->x[0],
x->x[1]));
问题是如果我有重复的键,toMap 会抛出异常。
有没有办法允许重复键并将值存储在列表中?
【问题讨论】:
-
(stackoverflow.com/questions/39882599/… 的副本)使用 groupingBy 作为收集器。
标签: java java-8 grouping java-stream collectors