我们正在尝试以线性方式将所有树节点存储到 HashMap 中(在节点后遍历节点)并遇到内存问题(OutOfMemoryError:Java 堆空间),最大内存设置为 90mb (-Xmx90M)
这是我们正在使用的代码(在 HashMap 中包含 HashMap):
HashMap<Integer, MyNode> refNodeMap
HashMap<String, HashMap<Integer, MyNode>> spNodeMap;
String Id;
toCopy 是 MyNode 对象类型。
if (refNodeMap.containsKey(Id)) {
spNodeMap.get(Id).put(toCopy.getId(), toCopy);
} else {
spNodeMap.put(Id, new HashMap<Integer, MyNode>());
spNodeMap.get(Id).put(toCopy.getId(), toCopy);
}
- 我们可以避免将 innerHashMap 与类对象一起使用吗?如果可以,该类会是什么样子?
- 我们如何有效地将所有树节点存储到 HashMap 或任何其他集合中以便以后检索它?