1
AtomicLong
値のマルチキーマップが必要です。だからAtomicLongMapのguavaのようなものですが、複数のキーをサポートするものです。したがって、上記のコードは、私が欲しい厳密に何を期待される動作を説明するだけではなく、JavaのLongまたはAtomicLong値を持つマルチキーマップ
MultiKeyAtomicLongMap<String, String> map = ...
map.put("a", "A", 1L);
map.put("a", "B", 2L);
map.put("b", "C", 3L);
....
map.get("a", "A"); // This should give me value 1L
map.get("a"); // This should give me both mappings ["A", 1L] and ["B", 2L]
:だから、私の新しい地図は次のように行うことができる必要があります。
私が欲しいのは、私の両キーがString
で、値がlong
であるスレッドセーフのマルチキーマップです。
EDIT: 私は値Long
を維持する代わりにAtomicLong
と罰金ですが、私はちょうどマップはスレッドセーフになりたいです。
Guava 'Table'が必要です。 –
@ControlAltDelこれは、1つのキーを簡単に取り出せません(OPsの2番目の 'get'必要条件です)。 –
@JohnVint私はあなたの最初のコメントが答えと考えます... – Eugene