をあなたのIDた場合は使用することができます一意ではありません、あなたはまだ地図を使用することができます。
Map<Integer, String> map = new IdentityHashMap<Integer, String>();
map.put(new Integer(1), "string");
のIdentityHashMap - あなたは、B固有のIDを必要としないので、各オブジェクトのネイティブのhashCodeの実装を使用しますあなたは何かcache mechanismがあるので、演算子 'new'を介してすべての整数を作成しなければならず、オートボクシングを使用しないでください。
キャッシュサイズ '-XX:AutoBoxCacheMax ='を制御するJVMパラメータもあります。 しかし、このパラメータを使用すると、キャッシュを無効にできません。サイズをゼロに設定すると、キャッシュはそれを無視してデフォルトを使用します。[-128; 127]。 このパラメータはIntegersのみに適用されますが、Longにはそのような種類のパラメータはありません。あなたがHashMapを使用することができます
map.put(1, new ArrayList<String>());
map.get(1).add("value1");
map.get(1).add("value2");
:非固有キーを持つ マップ>マップば自分の価値観で
と店舗:あなたはマルチマップのいくつかの並べ替えを使用することができます非ユニークキーのまた
UPDATE 例えば、それのために。
また、Googleマップのコレクションである 'guava'でもMultiMapの実装を見つけることができます。
ハッシュマップを使用する場合は、ハッシュマップを使用します。HashMapそうでない場合は、リストが保持できる新しいクラスを作成します。 –