我是Java的新手。我想知道用不同类型的数据存储2D数组的最佳选择是什么。
它将是国家的表,每个都有资本并且是在cotinent。然后我必须这样存储它: ContinentID |国名|资本
选择什么?
答案 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>>();