2014-03-26 48 views
1

我正在尋找第一行和第一列的鍵與矩陣的實現。 首先,我在HashMap中想到了一個像HashMap的東西,但這看起來很醜,我認爲這是錯誤的。 我真的需要那些可以檢查的鍵,如果一個字符串存在於第一行作爲鍵。 (我想實現一個鄰接矩陣)鄰接矩陣實現

我不確定我是否足夠清楚。這裏有一個小圖片可視化它。

事情是這樣的:

剛纔說的第一列和行不是數字而是城市。

事實上,我想要保存城市到鄰接矩陣中城市的距離。

回答

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 
} 

不要忘了生成的hashCode和Key類的equals!