所以我有str2
其中节点映射到其他节点的列表。这里的想法是我正在创建一个图表。
但是,当我在地图上添加边(图)G,即
Map<Node,ArrayList<Node>> G = new LinkedHashMap<>();
我得到一个nullpointer异常。令我困惑的是为什么键的值返回null。当我向图表添加节点时,即
void addEdge(Node v, Node w){
G.get(v).add(w);
G.get(w).add(v);
}
这是否不能保证当我想连接两个节点时,应该始终存在一个arraylist作为值?
这是感兴趣的代码。
void addNode(Node v){
G.put(v, new ArrayList<>());
}
Temp是&#34;有序&#34;我存储其他需要连接的节点的数组,所以1-2,2-3,3-4 ...等等。我的测试表明我的临时数组很好,每个元素确实是节点类的一个实例。
编辑 - 如何制作好的HashCode?我不认为我的钥匙在哪个订单上很重要?