迭代集合删除问题

 

迭代出错:在循环删除一个集合的数据时,不能用Collection .remove

得用Iterator .remove才行

删除对象后,集合会重新排序,会导致发生异常

 

 

 

 

正确写法:

String str = null;

           while (it.hasNext()) {

              str = (String) it.next();

              if (deliverySet.contains(str)) {

                  it.remove();

              } else {

                  tempMap.put(str, "1");                     }

           }

以下写法就会出现异常情况:

String str = null;

           while (it.hasNext()) {

              str = (String) it.next();

              if (deliverySet.contains(str)) {

                  deliverySet.remove(str);

              } else {

                  tempMap.put(str, "1");                   

}

           }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值