2

値がリンクリストであるハッシュマップのJavaに組み込みの実装はありますか?

のように、私が置く場合:

 map.put(1, "A");
 map.put(1, "B");

次に、AとBをリンクリストに自動的に追加します。マップから取得すると、次のようになります。

  map.get(1)

両方を含むリストが返されますか?

4

3 に答える 3

4

Javaにはありませんが、GoogleGuavaのMultiMapを使用できます。

Mapに似ていますが、複数の値を1つのキーに関連付けることができるコレクション。キーが同じで値が異なるput(K、V)を2回呼び出すと、マルチマップにはキーから両方の値へのマッピングが含まれます。

メソッドget(K)、keySet()、keys()、values()、entries()、およびasMap()は、マルチマップのビューであるコレクションを返します。

この記事マルチマップ-GoogleGuavaHashMapは、それを使用する方法と、値として使用してそれを行う方法についての完全なアイデアを提供Listします。

于 2012-11-02T19:38:30.730 に答える
2

2番目のプットは最初のプットを上書きします。応答としてBを取得します。

javadocによる

マップに以前にキーのマッピングが含まれていた場合、古い値が置き換えられます

両方のエントリを保持する場合は、サードパーティライブラリgoogleguavaMultiMapを使用する必要があります

于 2012-11-02T19:38:20.503 に答える
1

いいえ、自分でビルドしてください。

最初に HashMap を取得します。キーが存在しない場合は、linkedList を配置します...

単純...

于 2012-11-02T19:39:14.270 に答える