-1

嗨,我是 Java 新手,所以请使用基本和简单的 Java 方法,这将有助于我快速理解您的想法。

问题:我有n个城市(每个城市都有一个唯一的名称)并且它们都相互连接,因此任何 2 个城市之间都有距离。

存储这些距离的最佳方法是什么,以便以后如果我使用 2 个城市的名称(因为名称是唯一的)我可以检索它们之间的距离?

我正在考虑使用二维数组,但这似乎不是一个好主意(A - B 和 B - A 之间可能存在重复距离,也不能使用城市名称)是吗?

为什么有人对这个问题不屑一顾?

4

3 回答 3

2

添加到您自己的想法的两种可能性

HashMap 的 HashMap - 比 2D 数组更重,但提供易用性,直接按城市名称。

或者,使用enum城市的名称创建一个,并使用enum来索引到二维数组。

可变维度(非矩形)的 2DArray - 每行可以有不同的大小,仅存储完整矩阵的一半并根据需要导出另一半。例如创建一个非矩形阵列

于 2013-02-25T06:27:08.893 回答
0

如果两个城市之间的距离只是几何距离,则只需要存储每个城市的坐标即可。

否则,将距离存储在 N*N 矩阵中,并String[N]与名称保持一致。

于 2013-02-25T06:26:09.470 回答
0

查看java中集合的概念。这应该可以帮助您实现您正在寻找的内容:

http://docs.oracle.com/javase/tutorial/collections/index.html

于 2013-02-25T06:27:22.963 回答