List中根据某个字段相同的值相加

该代码片段展示了如何在Java中合并三个AlarmStateSum对象列表,并根据特定字段`Code`对`Count`字段进行累加。使用StreamAPI的collect方法,将列表转换为Map,然后对相同`Code`的项进行合并并累加计数。
摘要由CSDN通过智能技术生成

List中根据某个字段相同的值相加

	List<AlarmStateSum> nodeAlarmStateStatistics = baseMapper.getNodeAlarmStateStatistics(alarmRealtimeVO);
			alarmRealtimeVO.setTableName(startTableName);
			List<AlarmStateSum> nodeHistoryAlarmStateStatistics = baseMapper.getHistoryNodeAlarmStateStatistics(alarmRealtimeVO);
			alarmRealtimeVO.setTableName(endTableName);
			List<AlarmStateSum> nodeHistoryAlarmStateStatistics1 = baseMapper.getHistoryNodeAlarmStateStatistics(alarmRealtimeVO);
			list.addAll(nodeAlarmStateStatistics);
			list.addAll(nodeHistoryAlarmStateStatistics);
			list.addAll(nodeHistoryAlarmStateStatistics1);
			collect =list.stream().collect(Collectors.toMap(AlarmStateSum::getCode,a->a,(o1,o2)->{
				o1.setCount(o1.getCount()+o2.getCount());
				return o1;
			})).values().stream().collect(Collectors.toList());
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值