質問

JavaはHashMapのデフォルトのプローブ方法として何を使用しますか?線形ですか?連鎖か何か?

役に立ちましたか?

解決

私に連鎖しているように見えます。コード:(リンク)

...
724         /**
725          * Create new entry.
726          */
727         Entry(int h, K k, V v, Entry n) {
728             value = v;
729             next = n;
730             key = k;
731             hash = h;
732         }
...

...
795     void addEntry(int hash, K key, V value, int bucketIndex) {
796     Entry e = table[bucketIndex];
797         table[bucketIndex] = new Entry(hash, key, value, e);
...

つまり、bucketIndexのエントリを取得してから、その「次」にある新しいエントリに置き換えます。既にそこにあったエントリを入力します(つまり、チェーンします)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top