Исследование HashMap по умолчанию в Java
-
06-07-2019 - |
Вопрос
Что 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, а затем замените ее новой записью, которая имеет " next " укажите в поле уже существующую запись (т.е. зацепите ее).
Не связан с StackOverflow