javaのHashmapオブジェクトのキーとしてヌルオブジェクトを1つだけ追加できると読んでいました。しかし、私がどのクラスのオブジェクトを作成し、それをnullとして割り当て、そのオブジェクトのハッシュコードを印刷しようとすると、nullポインタの例外が返されます。次に、hashmapがそのヌルオブジェクトのハッシュ値をキーとしてどのように計算し、どのようにバケットに入れますか?javaのHashmapのヌル値
0
A
答えて
2
キーがnull値がインデックス0
if (key == null)
return putForNullKey(value);
1
でバケツに入れている場合だけのHashMapの実装を簡単にのぞき見を持っていたし、次のようにそれがキーのハッシュ値を決定します。
static final int hash(Object key) {
int h;
return (key == null) ? 0 : (h = key.hashCode())^(h >>> 16);
}
したがって、nullキーの場合、ハッシュ値は常に0であり、値のnullのキーが1つしかないことも説明しています。
これはあなたの質問にお答えします。
関連する問題
- 1. Java HashMapキー値の格納と取得
- 2. JavaのHashMapのカスタムオブジェクト
- 3. HashMapでHashMap値を保持していないAndroid/Javaシングルトン
- 4. 値のHashMapオブジェクト
- 5. のJava 8 - ヌル
- 6. Java HashMapの逆の方法
- 7. のJavaのHashMapとオブジェクトキー
- 8. JavaのHashMapの隣接リストグラフパーティション
- 9. JavaのHashMapの仕分け
- 10. JavaのHashMapのキー混乱
- 11. Java XStream with HashMap
- 12. Java HashMapコンストラクタ
- 13. Java util hashmap containsKey()
- 14. Java 8 | HashMapのパラレルストリームのJava 8で
- 15. C#Java HashMap相当の
- 16. HashMap- javaプログラムの問題
- 17. Java HashMap配列のサイズ
- 18. Java HashMapのZuulリメイクIssue
- 19. Javaのガベージコレクションとヌル
- 20. Javaでヌル値をチェックする方法
- 21. ヌル値チェック付きJava 8ラムダコンパクタ
- 22. ヌル値のDsum
- 23. Goのヌル値
- 24. サブクエリのヌル値
- 25. qtablewidgetのヌル値
- 26. Javaハッシュマップ - StdinからHashMapへのキー値のペア
- 27. ヌル値とヌル値がない場合の列値の比較
- 28. #java HashMapと入力
- 29. Javaイテレーション:HashtableとHashMap
- 30. Javaコードが印刷されないHashMapのキーと値