我正在寻找第一行和第一列的带有键的矩阵的实现。 首先,我认为HashMap中的HashMap就像HashMap,但这看起来很难看,我认为这是错误的。 如果第一行中存在一个字符串作为键,我真的需要那些我可以检查的键。 (我想实现一个邻接矩阵)
我不确定我是否足够清楚。这里有一个小图片可视化它。
这样的事情:
只是第一列和第一行不是数字而是城市。
事实上,我想在邻接矩阵中保存从城市到城市的距离。
答案 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!