【发布时间】:2017-10-10 16:30:31
【问题描述】:
我有一个电子表格类型的数据文件(制表符分隔的 .txt),Java 程序需要读取它并将值存储在数据结构中。此数据表示两个城市之间的最短路径,如果路径不存在,则用破折号 (-) 填充。哪种数据结构可以很好地存储这些值,以便在程序中进行进一步比较;主要用于搜索算法?此外,我想在一个简单的 GUI 中将第一列中列出的城市打印为允许用户选择城市的下拉按钮?只有通过提取出来打印城市的代码行才是好的。 而且,数据文件的外观如下:
Port Col Minn Cali Flo
Portland - 30 - 22 -
Colorado 15 17 5 - -
Minnesota 11 15 22 13 -
California 8 - 9 - -
Florida 11 - - 22 -
由于这是一个制表符分隔的 .txt 文件,它看起来并不完美。
【问题讨论】:
-
数据的用途是什么?如果您只是打印它可能最容易将其保留为字符串,但如果您在内部使用它,则数组或列表可能会有所帮助
-
我会考虑类似
Map<String, Map<String, Double>>;您可能希望将其包装在您自己的类中以使其更易于使用。但是,如前所述,这取决于您将如何使用它。 -
@James_D 你能简单介绍一下你的想法吗?
-
“外部”地图的键是城市名称,值是从每个城市到相应距离的地图。所以,例如
Map<String, Double> portlandDists = new HashMap<>();、portlandDists.put("Colorado", 30.0);、portlandDists.put("California", 22);、distances.put("Portland", portlandDists)等
标签: java swing javafx data-structures file-io