包含3列的Java 2D列表(int,String,String)

时间:2012-10-29 19:02:53

标签: java list 2d

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

它将是国家的表,每个都有资本并且是在cotinent。然后我必须这样存储它: ContinentID |国名|资本

选择什么?

4 个答案:

答案 0 :(得分: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"));
...

答案 1 :(得分:0)

创建一个包含所需属性的国家/地区类,然后创建一个列表,将其键入国家/地区:

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

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

答案 2 :(得分:0)

如果continent id只是一个序列而没有添加任何特定含义,您可能需要考虑HashMap,其中键为国家名称,值为Capital。如果订单很重要,请考虑LinkedHashMap

如果continent id确实带有意义,那么您可能需要考虑将所有变量移动到一个类,比如Country并将其保存在列表中。如果您计划按国家/地区名称检索而不是iterate,则可能需要考虑将对象存储在Hashmap中,并将密钥作为您的国家/地区名称或资本或任何适合您需要的内容。 HashMap而不是列表的原因是对List的成员资格检查提供线性性能,而不是HashMap上的常量时间访问。

答案 3 :(得分:0)

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