2013-02-25 73 views
-1

嗨,我是新來的Java,所以請使用基本和簡單的Java方法,這將幫助我快速理解您的想法。最好的方式來存儲和檢索城市之間的距離?

問題:我有ñ城市(每個城市都有一個獨特的名字),他們都彼此相連,這樣有任何兩個城市之間的距離。

什麼是最好的方式來存儲這些距離,以便後來如果我使用2個城市的名稱(因爲名稱是唯一的)我可以檢索它們之間的距離?

我正在考慮使用二維數組,但它似乎不是一個好主意(A - B和B - A之間可能的重複距離,也不能使用城市名稱)嗎?

爲什麼有人會對這個問題進行翻閱?

+0

有什麼不對的二維數組(DIST)?我建議你給每個城市一個號碼,然後你可以通過dist [j] [i] – Burkhard 2013-02-25 06:25:05

+0

訪問城市'i'和城市'j'之間的距離給每個城市一個號碼是個不錯的主意。謝謝!如何解決重複問題?另外我需要使用城市名稱。 – 2013-02-25 06:26:46

回答

2

兩種可能添加到您自己的想法的HashMap的

HashMap的 - 比二維數組較重,但提供了易用性,直接城市名稱。

或者,作出enum與城市的名字,並使用enum索引到2D陣列。

2DArray的可變尺寸(非矩形) - 每行可以有不同的大小,只存儲整個矩陣的一半,並根據需要派生另一半。 eg of creating a non rectangular array

+0

完美!除了HashMap之外,會嘗試實現所有的建議,如果我遇到問題,請回到這裏更新問題。謝謝! – 2013-02-25 06:36:16

+0

@RonaldinhoState歡迎您,祝你好運! – 2013-02-25 06:37:48

0

如果兩個城市之間的距離只是幾何距離,您只需要存儲每個城市的座標。

否則,將距離存儲在一個N×N矩陣中,並保留一個帶有名稱的String[N]

相關問題