Pergunta

O que usar Java como um padrão método de sondagem para HashMap? É Linear? Encadeamento ou algo mais?

Foi útil?

Solução

Parece que encadeamento para mim. Código: (link)

...
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);
...

Isto é, pegar a entrada em bucketIndex, em seguida, substituí-la por uma nova entrada que tem como campo "próxima" a entrada que já estava lá (ou seja, cadeia-lo).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top