我是 Java 新手。我想知道用不同类型的数据存储二维数组的最佳选择是什么。
它将是一个国家表,每个国家都有资本并且在大陆。然后我必须以这种方式存储它:ContinentID | 国名 | 首都
选择什么?
您可能需要考虑创建一个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"));
...
创建一个具有所需属性的国家类,然后创建一个列表,将其键入为国家:
list<Country> clist = new ArrayList<Country>();
或您想要的任何列表。现在只需将国家/地区对象存储在列表中。
如果大陆 id 只是一个序列并且没有添加任何特定含义,您可能需要考虑将HashMap
键作为国家名称,将值作为大写字母。如果顺序很重要,请考虑使用LinkedHashMap
.
如果大陆 id 确实具有意义,那么您可能需要考虑将所有变量移动到一个类中,例如Country
并将其保存在一个列表中。如果您计划按 country name 而不是检索iterate
,您可能需要考虑将对象存储在 Hashmap 中,并将 key 作为您的 country name 或大写字母或任何适合您需要的内容。使用 HashMap 而不是列表的原因是,与对 HashMap 的恒定时间访问相比,对 List 的成员资格检查提供了线性性能。
HashMap<Integer, HashMap<String, String>>();