配列は、特定の 1 つのタイプのもの(それらObject
またはString
または) を対象としていint
ます。それらに複数のディメンションを追加しているという事実にもかかわらず、それらはまだ 1 種類の情報しか保持していません。
むしろ必要なのは、2 つのオブジェクト間のマッピングです。これにより、次のことが可能になります。
- 任意のキーを特定の値に関連付けます
- 重複するキー エントリを削除する
- 配列のインデックス付けよりもはるかに簡単にアクセスできます
これが例です。カスタム オブジェクトがCat
で、所有者の名前を特定の にマップするとしますCat
。Mapの新しいインスタンスを作成します。
Map<String, Cat> catOwners = new HashMap<>();
その後、要素を入れることができます...
catOwners.put("Jamie", new Cat("Tycho"));
...そして比較的簡単にそれらを取得します。
Cat currentCat = catOwners.get("Jamie"); // gets Jamie's cat
本当にやりたい場合は、すべての sMap.Entry
で提供されるオブジェクトを使用して、それらを反復処理することもできます。Map
for(Map.Entry<String, Cat> element : catOwners.entrySet()) {
System.out.println(element.getKey()
+ " owns " + element.getValue().getName());
}