java建议汇总列表中的值
我有一个字符串列表,如下所示:
"AB", "XY", 10
"CD", "XY", 15
"CD", "XY", 12
"AB", "XY", 19
我要做的是将最后一个值中的数字与第一个值相加,并将其放入一个新列表中
因此,这将给我:
"AB", "XY", 29
"CD", "XY", 27
我是Java新手,所以我还在为语法和不同的方法而挣扎。我查看了compareTo()和equals()方法,但是很遗憾。我需要一些帮助
你可以在下面搜索框中键入要查询的问题!
我有一个字符串列表,如下所示:
"AB", "XY", 10
"CD", "XY", 15
"CD", "XY", 12
"AB", "XY", 19
我要做的是将最后一个值中的数字与第一个值相加,并将其放入一个新列表中
因此,这将给我:
"AB", "XY", 29
"CD", "XY", 27
我是Java新手,所以我还在为语法和不同的方法而挣扎。我查看了compareTo()和equals()方法,但是很遗憾。我需要一些帮助
# 1 楼答案
第一个问题是:为什么要将其作为字符串列表?看起来您有一个包含3个属性的对象列表:2个字符串和一个整数。拥有这样的数据结构将使代码更易于读写
现在,为了解决这个问题,您首先需要制作一个映射来保存字符串的第一部分和数字的总和:
Collectors.groupingBy
收集器创建映射,该收集器将每个字符串分类为字符串的第一部分,即最后一个逗号之前的所有内容。然后,对于分类到同一个键的所有值,我们使用Collectors.summingInt
对最后一个逗号后面的数字求和李>String
,最后将其收集到一个带有Collectors.toList()
的列表中李>示例代码:
# 2 楼答案
输入数据:
代码:
我的数据的输出: