list.add()覆盖问题

在Java编程中,当在for循环外部初始化HashMap并尝试在循环内部填充时,会导致所有添加到list的map引用相同。这将引发覆盖问题,使得最终的mapList中的所有条目都指向最后一个循环迭代的值。为避免此问题,应在每次循环内部创建新的map实例。
摘要由CSDN通过智能技术生成
如果像这样将map定义在for循环外面,则每个map地址是一样的,这样list在add时就会产生覆盖问题,所有的记录都是一个东西
 Map<String,Object> map = new HashMap<>();
for (int i=0;i<6;i++) {
    
    Job job = jobList.get(i);
    job_name=job.getJobName();
    payment = job.getPayment();
    job_location=job.getJobLocation();
    education=job.getEducationRequired();
    map.put("job_name",job_name);
    map.put("payment",payment);
    map.put("job_location",job_location);
    map.put("education",education);
    mapList.add(map);

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值