解决循环体中数据重复的问题

问题场景如下:
在Java程序中先new一个map用来存放数据,建立一个for循环,每次循环都将这个map添加到一个List里面,然后clear这个map,为什么最后得到的List里面都是重复的数据

问题出现的原因是在每次循环中,虽然将map添加到了List中,但是并没有创建一个新的map,而是每次都清空了同一个map的数据。因此,最后得到的List中的所有元素都是指向同一个map对象,导致最终List中的数据都是相同的。

解决这个问题的方法是,在每次循环的开头创建一个新的map对象,而不是在循环的结尾清空同一个map对象。这样可以确保每次循环都使用一个新的map对象来存放数据,从而避免数据重复的问题。以下是修改后的代码示例:

java
List<Map<String, Object>> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
Map<String, Object> map = new HashMap<>();
// 向map中添加数据
map.put(“key”, “value”);
// 将map添加到list中
list.add(map);
}
在每次循环开始时创建一个新的map对象,确保每次循环都使用独立的map来存放数据,这样最后得到的List中的数据就不会重复了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值