邻接矩阵实施

时间:2014-03-26 11:47:48

标签: java matrix adjacency-matrix

我正在寻找第一行和第一列的带有键的矩阵的实现。 首先,我认为HashMap中的HashMap就像HashMap,但这看起来很难看,我认为这是错误的。 如果第一行中存在一个字符串作为键,我真的需要那些我可以检查的键。 (我想实现一个邻接矩阵)

我不确定我是否足够清楚。这里有一个小图片可视化它。

这样的事情:

只是第一列和第一行不是数字而是城市。

事实上,我想在邻接矩阵中保存从城市到城市的距离。

1 个答案:

答案 0 :(得分:0)

在HashMap中使用自定义类作为键。

public class Key {
    private String city1;
    private String city2;

    public Key(String city1, String city2){
        this.city1 = city1;
        this.city2 = city2;
    }

    //hashCode and equals
}

然后您可以这样使用它:

HashMap<Key, Integer> adjacencyMatrix = new HashMap<>();
adjacencyMatrix.put(new Key("Berlin", "London"), 933);

Integer distance = adjacencyMatrix.get(new Key("Berlin", "Paris"));
if (distance == null){
    //no entry
}

不要忘记在Key类中生成hashCode和equals!