for (Map.Entry<String, Map<String, Object>> entry : tempMap.entrySet()) { Map<String, Object> tempNode = entry.getValue(); String pmId = JzbDataType.getString(tempNode.get(pid)); if (tree.containsKey(pmId)) { List<Map<String, Object>> children = getChildren(tree,pmId); children.add(tempNode); tree.put(tempNode.get(id).toString(), tempNode); // tempMap.remove(tempNode.get(id).toString()); } }
遍历过程中不要做操作,注释掉的那行代码是不允许执行的,否则就会报错
java.util.ConcurrentModificationException