删除List变量中元素

小星星:不能在遍历List时删除元素,正确做法,应该先保存要删除元素,然后整体删除。

代码描述:要删除ssvcustListTemp列表中的某些元素

错误示范:

if(ssvcustListTemp != null && ssvcustListTemp.size() > 0){
    for(SsvCustInfo ssvCustInfo:ssvcustListTemp){
        //修改数据:1.业务过滤掉 类型为"BAA"的
        if("BAA".equals(ssvCustInfo.getCustTypeCode())){
            ssvcustListTemp.remove(ssvCustInfo);
        }
    }
}

正确示范:

List<SsvCustInfo> delList = new ArrayList<SsvCustInfo>();
if(ssvcustListTemp != null && ssvcustListTemp.size() > 0){
    for(SsvCustInfo ssvCustInfo:ssvcustListTemp){
        //修改数据:1.业务过滤掉 类型为"BAA"的
        if("BAA".equals(ssvCustInfo.getCustTypeCode())){
            delList.add(ssvCustInfo);
        }
    }
    ssvcustListTemp.removeAll(delList);
}

 

posted on 2013-07-24 16:53  空杯椰子  阅读(224)  评论(0编辑  收藏  举报