2017-02-28 4 views
1

AtomicLong値のマルチキーマップが必要です。だからAtomicLongMapguavaのようなものですが、複数のキーをサポートするものです。したがって、上記のコードは、私が欲しい厳密に何を期待される動作を説明するだけではなく、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と罰金ですが、私はちょうどマップはスレッドセーフになりたいです。

+2

Guava 'Table 'が必要です。 –

+0

@ControlAltDelこれは、1つのキーを簡単に取り出せません(OPsの2番目の 'get'必要条件です)。 –

+1

@JohnVint私はあなたの最初のコメントが答えと考えます... – Eugene

答えて

関連する問題