地图:添加值为列表的值的键

时间:2017-04-20 02:17:15

标签: java

所以我有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作为值?

另外,我在通过addEdge连接它们之前添加了图表中的所有节点。

这是感兴趣的代码。

void addNode(Node v){
    G.put(v, new ArrayList<>());
}

}

Temp是&#34;有序&#34;我存储其他需要连接的节点的数组,所以1-2,2-3,3-4 ...等等。我的测试表明我的临时数组很好,每个元素确实是节点类的一个实例。

编辑 - 如何制作好的HashCode?我不认为我的钥匙在哪个订单上很重要?

0 个答案:

没有答案