- - PR -
Hashtable使用時のKey重複について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-06-14 22:50
Hashtable使用時に下記サンプルのようにKey名"a"で重複させると
後に登録したデータで上書きされます。 従って、has.get("a") で取得できる結果は "桃" となり has.size()の結果も"1" となります。 そこで質問なのですがkeyの重複を許しているようなクラスなんて あるのでしょうか?Linkedhashmapなんかはputした順番でgetできる ので使えるかと思ったのですが試してみたところやはりKeyの重複は 許されていませんでした。 なぜこんな質問をするかというと当方、どなたかが過去に作ったあるアプリを デバッグしておりそのバグの原因がHashtableオブジェクトに同じKey名でput していたためでした。 アプリの仕様上同じKey名でputせざるえないので半角スペースでもKey名の 後ろに付加するようにして区別しようかと思ったのですが そんなことする前にKey名の重複を許すクラスなんてあればと思いましたので 質問いたしました。 よろしくお願いいたします。
| ||||
|
投稿日時: 2008-06-15 00:45
keyというくらいなので、重複されちゃ困ります。
keyの重複を許しているMapがあったとしたらけんたさんは嬉しいかもしれませんが、全世界のJava開発者が発狂しますね。 アプリの仕様はよく解りませんが、Hashtableを使うこと自体が間違いなんでしょう。 もしくはアプリの仕様が破綻していると思われます。 keyで複数の値の一覧を持ちたい場合は、Mapの値としてListやSetを用いるのが一般的です。 | ||||
|
投稿日時: 2008-06-15 02:15
重複値が取れたとして、どっちが本来の目的の値だと判断する気なんでしょうか?
| ||||
|
投稿日時: 2008-08-30 11:14
http://blog.pasonatech.co.jp/sugiura/7159.html
ここで紹介されているMultiMapが、けんたさんが欲しがっている 機能ではないでしょうか。 (ApacheのCommons APIです) MultiMapのAPI http://commons.apache.org/collections/api-3.2/org/apache/commons/collections/MultiMap.html |
1