arraylist中的Java分组值
我有三门课:arraylist中的Java分组值,java,arraylist,grouping,Java,Arraylist,Grouping,我有三门课: 计算类(包括FinalPrice()方法,该方法返回双精度值) 文件读取器类(加载CSV文件,将数据拆分为数组,并返回数组的第一个元素,即字符串。包括getType()方法) 合同类(仅包含构造函数) File a=新文件(“D:\\…\\contract.csv”); Calculation1 calc=新计算1(a); File_Reader1 b=新文件_Reader1(); 合同c=新合同(b.getType(a),计算最终价格()) 我需要一个列表来存储契约对象,并对键(
File a=新文件(“D:\\…\\contract.csv”);
Calculation1 calc=新计算1(a);
File_Reader1 b=新文件_Reader1();
合同c=新合同(b.getType(a),计算最终价格())代码>
我需要一个列表来存储契约对象,并对键(即b.getType(a))进行分组,并对它们的值求和(即calc.FinalPrice()),如
输入(例如):
list.add(“AB”,5);
列表。添加(“AC”,8);
增加(“AB”,12)代码>
我希望得到如下输出:
“AB”:17
“AC”:8
有人能帮我吗?在Java 8中
entries.stream().collect(Collectors.groupingBy(
entry -> entry.getKey(),
Collectors.summingInt(entry -> entry.getValue())));
您可以迭代ArrayList或Map或其他任何内容,然后在第二个列表中聚合值(如果第二个列表中已经有键或没有键,请使用contains())——这当然不是很有效,但应该可以。取决于列表/地图的大小。此列表/地图是以下列表/地图的副本: