Перефразирование хэш-карты выполняется, когда число элементов в
карта достигает максимального порогового значения.
Обычно значение коэффициента нагрузки составляет 0,75 и начальная емкость по умолчанию
значение равно 16. Как только количество элементов достигает или пересекает 0,75 раза
емкость, затем происходит перефразировка карты. В этом случае, когда
количество элементов 12, затем происходит перефразировка. (0,75 * 16 = 12)
Когда перефразирование происходит, новая хеш-функция или даже тот же хеш
Функция может быть использована, но ведра, в которых присутствуют значения
может измениться В основном при перепрошивке происходит количество ведер
примерно в два раза, и, следовательно, новый индекс, при котором значение
должны быть внесены изменения.
При перефразировании связанный список для каждого сегмента переворачивается в
порядок. Это происходит потому, что HashMap не добавляет новый элемент в
хвост вместо этого он добавляет новый элемент в голову. Так когда
происходит перефразировка, он читает каждый элемент и вставляет его в новый
ведро в голову, а затем продолжает добавлять следующие элементы из старого
карта в начале новой карты, приводящая к изменению связанного списка.
Если несколько потоков обрабатывают одну и ту же хеш-карту, это может
результат в бесконечном цикле.
Подробное объяснение о том, как происходит бесконечный цикл в приведенном выше
дело можно найти здесь:
Прочитайте эту статью для более понимания
Если элементы, вставленные в карту, должны быть отсортированы по ключам, то
TreeMap может быть использован. Но HashMap будет более эффективным, если порядок
ключи не имеют значения.