1、java中for循环删除元素
采用迭代器Iterator,这种方式可以正常的循环及删除。
Iterator<String> it = list.iterator();
while(it.hasNext()){
String x = it.next();
if(x.equals("delete")){
it.remove();
}
}
2、使用map结构,以key-value的方式存储数据
示例代码中,以省份为key,在遍历value值时,根据key查询map数组:若已存在该key,则dto直接存入value中,若该key不存在,则新建key-value,存储到map中
Map<String, List<PsnInsureInfoDTO>> insuMap = new HashMap<>();
//insureInfoDTOS -> 要存储在map中的value值
for (PsnInsureInfoDTO psnInsureInfoDTO : insureInfoDTOS) {
// 人员信息三要素重新赋值
psnInsureInfoDTO.setCertType(psnBasicInfoDTO.getCertType());
psnInsureInfoDTO.setCertNo(psnBasicInfoDTO.getCertNo());
psnInsureInfoDTO.setName(psnBasicInfoDTO.getName());
//获取省份key值
String province = psnInsureInfoDTO.getPoolarea().substring(0, 2);
List<PsnInsureInfoDTO> insureInfoDTOList = insuMap.get(province);
if (null == insureInfoDTOList) {
insureInfoDTOList = new ArrayList<>();
insureInfoDTOList.add(psnInsureInfoDTO);
insuMap.put(province, insureInfoDTOList);
} else {
insureInfoDTOList.add(psnInsureInfoDTO);
}
}