2

我是 Java 新手。我想知道用不同类型的数据存储二维数组的最佳选择是什么。

它将是一个国家表,每个国家都有资本并且在大陆。然后我必须以这种方式存储它:ContinentID | 国名 | 首都

选择什么?

4

4 回答 4

4

您可能需要考虑创建一个Country类来保存这些数据,然后维护一个此类实例的列表/数组。

public class Country {
    private int continentId;
    private String name;
    private String capital;

    public Country(int continentId, String name, String capital) {
        this.continentId = continentId;
        this.name = name;
        this.capital = capital;
    }

    // ...
}

然后你会有一些类似的东西

List<Country> countries = new ArrayList<Country>();
countries.add(new Country(123, "USA", "Washington DC"));
...
于 2012-10-29T19:05:32.493 回答
0

创建一个具有所需属性的国家类,然后创建一个列表,将其键入为国家:

 list<Country> clist = new ArrayList<Country>();

或您想要的任何列表。现在只需将国家/地区对象存储在列表中。

于 2012-10-29T19:07:41.650 回答
0

如果大陆 id 只是一个序列并且没有添加任何特定含义,您可能需要考虑将HashMap键作为国家名称,将值作为大写字母。如果顺序很重要,请考虑使用LinkedHashMap.

如果大陆 id 确实具有意义,那么您可能需要考虑将所有变量移动到一个类中,例如Country并将其保存在一个列表中。如果您计划按 country name 而不是检索iterate,您可能需要考虑将对象存储在 Hashmap 中,并将 key 作为您的 country name 或大写字母或任何适合您需要的内容。使用 HashMap 而不是列表的原因是,与对 HashMap 的恒定时间访问相比,对 List 的成员资格检查提供了线性性能。

于 2012-10-29T19:08:35.737 回答
0

HashMap<Integer, HashMap<String, String>>();

于 2012-10-29T19:09:28.883 回答