私はJavaが初めてです。さまざまなタイプのデータを含む 2D 配列を格納するための最良のオプションは何だろうと思っています。
それは国の表になり、それぞれに首都があり、大陸に属しています。次に、次のように保存する必要があります。国名 | 資本
何を選ぶ?
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
、それをリストに保持します。ではなく国名で取得することを計画している場合はiterate
、国名または首都、または必要に応じてキーを使用して、オブジェクトを Hashmap に保存することを検討することをお勧めします。リストではなく HashMap を使用する理由は、リストのメンバーシップ チェックは、HashMap の一定時間のアクセスに対して線形のパフォーマンスを提供するためです。
HashMap<Integer, HashMap<String, String>>();