关于同一个List有重复数据

需求是:查询所有的A,A与B通过某一字段关联,与之匹配的B要放在相应匹配的那条A记录下,用List返回数据

解决方案是:先查询出数据A,然后再查询与A关联的数据B,分别遍历A和B,把与之匹配的B放在A相应的数据下

问题是:分别遍历A和B,首先遍历A,然后在嵌套遍历B,把与之匹配的B放在相应地A的数据下面,这样想是没有错,可是遍历出来的数据添加之后的数据结果却是与A的a字段匹配的和与之不匹配的数据B都在一个List集合中,之后经过debug发现问题出现在放置的List的位置不正确。

错误的List位置

		List<SysSceceDto> list2=new ArrayList();//List 集合放在最外边
		
		if (sysMonitoringDtos!=null && list!=null){
			//首先遍历A
			for (SysMonitoringDto sysMonitoringDto : sysMonitoringDtos) {
				//然后再遍历B
				for (SysSceceDto sysSceceDto : list) {
					//比较A和B的字段是否相同
					if (sysMonitoringDto.getChannel().equals(sysSceceDto.getChannel())){
						//把比较相等的B放进A
						list2.add(sysSceceDto);
						sysMonitoringDto.setPresetList(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值