ハッシュマップのデータは内部的にどのように格納されていますか?私はそれがキーのHashCode値を計算して格納することを知っていました。同じハッシュコードを持つ2つのキーバケット。しかし、なぜ「2つのキーが書き込みの上に同じハッシュマップです」あれば、既存のもの?2つのキーは同じハッシュマップです "既存のもの?
1
A
答えて
1
ハッシュコードの主な目的は、ハッシュベースのコレクションでequalsメソッドの呼び出し回数を減らすことです。 equalsメソッドで同じハッシュコードがtrueを返す必要はありません。しかし、あなたがその等価が真であると言うなら、それは真実でなければなりません。
3
がhttp://en.wikipedia.org/wiki/Hash_tableとhttp://www.docjar.com/html/api/java/util/HashMap.java.html
ハッシュテーブルまたはハッシュマップは、ハッシュコードをキーとリンクリストの配列である参照してください。
9
これはそれが意図していることです。キー/値のペアのマッピングです。キーは0または1の値に関連付けられます。put
キーの2番目の値は、そのキーのエントリが置き換えられます。
ハッシュコードだけに基づいているわけではありません - それは同じようにキーをテストします。 2つのキーは等しくないが、同じハッシュコードを持つことができます。重要なことは、2つの等しいキーは同じハッシュコードを持つである必要があります。
単一のキーに複数の値を格納する場合は、GuavaのMultimapのようなものを使用する必要があります。
4
hashCode()
が同じ場合、値を上書きしません。それらがequalsメソッドで等しい場合にのみ上書きされます。
1
ハッシュ関数は一般に重複データを排除するために使用されます。そのため、コレクションには重複データを格納することを許可していないHashmapのような と入力されます。 このアルゴリズムは、検索時に重複を避けるためにデータベースでも使用されています。
関連する問題
- 1. 既存のハッシュマップ
- 2. キーと値を持つHashMapは、Javaを使用して他の2つのハッシュマップの値と同じです
- 3. キーで2つのハッシュマップを比較し、同じ周波数を持たないキーを返す
- 4. 同じキーでハッシュマップ値の平均を計算する方法
- 5. 2つのxs:複合キーと同じキーですか?
- 6. 異なるリンクされたハッシュマップから同じキー名で2つの値を掛ける方法は?
- 7. PHPは同じキーで2つの配列をマージする
- 8. Java - 同じキーを指す複数のハッシュマップ
- 9. 同じキーが既に
- 10. 同じキーでハッシュマップ値を合計する方法java
- 11. ハッシュマップにキーを入れて同じ順序で取得する
- 12. Spring @CachePut 2つのキーで同じ値を入力する
- 13. 同じキーを持つ2つの配列の値の追加
- 14. アクセスデータベース - 同じプライマリキーに関連する同じテーブル内の2つの外部キー
- 15. 同じ名前の2つのキー "$"または "
- 16. Entity Frameworkのコードファースト - 同じテーブルから2つの外部キーは
- 17. 同じキーを持つオブジェクトがObjectStateManagerに既に存在しています
- 18. LINQ to Entities "同じキーを持つオブジェクトがObjectStateManagerに既に存在します..."
- 19. 2つの辞書を同じキー名でマージする方法
- 20. 同じテーブルの2つの外部キーを持つSql selectステートメント
- 21. 同じテーブルの2つの外部キーを持つDjangoモデル
- 22. 同じテーブルの2つのForiiegnキーを持つMysql結合テーブル
- 23. 同じマップ初期化で既に定義されている既存キーの値をキー宣言
- 24. 同じ2つのunordered_mapの順序は同じですか?
- 25. 同じクラスに2つのキーを持つことは可能ですか?
- 26. 同じキーを持つ2つのRDDに同じHashPartitionerを適用すると、同じパーティションにならない
- 27. Mysql同じキーを参照する同じテーブルの2つの外部キーとの結合
- 28. Pythonロングポーリングサーバー(既存のPHPサーバーと同じ)
- 29. は、既存のキー(スカラ)
- 30. 2つのウェブサイト、同じURL、同じクッキー