循环把warningOneList中jylsh与传入参数一致的Map赋值给另一个List
for (int i = 0; i < warningOneList.size(); i++) {
Map map = warningOneList.get(i);
if (jylsh.equals(map.get("jylsh"))) {
oneTempList.add(map);
System.out.println("原来"+warningOneList.size());
warningOneList.remove(oneTempList);
//从warningOneList删除
System.out.println("减少为"+warningOneList.size());
}
}
这样的结果会导致赋值不完全,原因是List每remove掉一个元素以后,每次for循环的size也会相应减少,达不到原有的循环次数
解决办法:
Iterator it = warningOneList.iterator();
while(it.hasNext()){
Map map = (Map) it.next();
if (jylsh.equals(map.get("jylsh"))) {
System.out.println("原来"+warningOneList.size());
oneTempList.add(map);
//从warningOneList删除
it.remove();
System.out.println("减少为"+warningOneList.size());
}
}