public static void main (String [] args ) {
Map<String, Object> maps1 = new HashMap<>();
maps1.put("1","2");
Map<String, Object> maps2 = new HashMap<>();
maps2.put("2","3");
Map<String, Object> maps3 = new HashMap<>();
maps3.put("3","4");
List<Map<String, Object>> list = new ArrayList<>();
list.add(maps1);
list.add(maps2);
list.add(maps3);
for (Map<String, Object> map : list) {
if (map.get("1").equals("2")) {
Map<String, Object> newmaps = new HashMap<>();
newmaps.put("1","2");
list.add(newmaps);
}
}
for (int i=0; i<list.size();i++) {
System.out.println(list.get(i));
Map<String, Object> map = list.get(i);
if (map.get("1").equals("2")) {
Map<String, Object> newmaps = new HashMap<>();
newmaps.put("1","2");
list.add(newmaps);
}
}
}
1.尽量不要在foreach中进行remove,add操作,如果需要进行remove操作请使用迭代器。
Map<String, Object> maps1 = new HashMap<>();
maps1.put("1", "2");
Map<String, Object> maps2 = new HashMap<>();
maps2.put("2", "3");
Map<String, Object> maps3 = new HashMap<>();
maps3.put("3", "4");
List<Map<String, Object>> list = new ArrayList<>();
list.add(maps1);
list.add(maps2);
list.add(maps3);
Iterator<Map<String, Object>> it = list.iterator();
while (it.hasNext()) {
synchronized (it){
Map<String, Object> map = it.next();
System.out.println(map);
it.remove();
}
}