私はいくつかのキー値リストを持つクラスを持っています。リスト内の各キーは一意でなければならないので、私はHashMapを使用します。コードのどこかで新しい項目をリストに追加すると、HashMapのput(K, V)
を使用しています。既存のキーを持つ項目を追加しようとすると、例外をスローするようにコードを欲しいです。そのような追加はプログラムの多くの場所で実行されるので、私はそれぞれにチェックを追加しないようにしたいと思います。したがって、既存のキーと値のペアを置き換えることを許可しないリストクラス自体でなければなりません。一意性検査のHashMap
私は自分自身でHashMapクラスを拡張することを考えました。これは、そのようなチェックを行い、例外をスローします。しかし、HashMapのput
は例外をスローしないので、私はそれを行うこともできません。
このような動作を達成するにはどうすればよいでしょうか?私はHashMapをより良いものに置き換える準備ができていますが、アイテムの追加と検索の両方で高速にする必要があります。
更新: ありがとうございます。私はJavaの完全な初心者ですから、今は最高のものを選ぶことができるように多くのことを学ぶ必要があります:)とにかく、昼休みにたくさんのオプションがあることに感謝します!
コモンズコレクションは、それにふさわしい曝露を得ていません... – Isaac