我有一张桌子:
姓名 | 数据 | 编号
项目1 | 16 | 2
项目2 | 17 | 3
项目1 | 16 | 5
我想将其转换为:
{ item1: {16+16, 2+5}, item2: {17, 3}}
但是我只能成功产生以下结果:
{项目1:16+16,项目2:17}
使用以下代码: Stats 类存储两个字段,但我不知道如何将这两个字段添加到数据中
class Stats {
public Integer data, num;
public Stats(Integer td, Integer nf) {
data = td;
num = nf;
}
public Integer getdata(){
return data;
}
public Integer getnum(){
return num;
}
}
Map<String, Stats> map = new HashMap<>();
Stream<String> lines = Files.lines(Paths.get(table));
map = lines.map(x ->
.collect(Collectors.toMap(
z -> z[0],
z -> Integer.parseInt(z[1]),
(a, b) -> a+b));
上面的代码只适用于Map<String, Int>
因为我不确定如何制作Map<String, Stats>
。知道如何在仅使用 1 个管道的同时将第二列上的项目放入地图吗?