HashTable в Java собственного размера

1

Я хочу создать хеш-таблицу, которая является конкретным размером каждый раз. Я хочу, чтобы это было 10 x количество блоков (с использованием substring()), которые хранятся в "списке".

for (int k = 0; k < foo.length() - blockSize + 1; k++) {
            list = foo.substring(k, k + blockSize);
            System.out.println(list);
}

Я посмотрел онлайн и не нашел для этого решения. Могу ли я получить разъяснения по этому поводу?

благодаря

Теги:
hashtable
size

1 ответ

1

HashTable (вы уверены, что не хотите использовать HashMap вместо?) Имеет перегрузку конструктора, которая принимает loadfactor.

public Hashtable(int initialCapacity, float loadFactor)

Создает новую пустую хэш-таблицу с указанной начальной мощностью и указанным коэффициентом загрузки.

Параметры:
initialCapacity - начальная емкость initialCapacity.
loadFactor - коэффициент нагрузки хеш-таблицы.

Документация по loadfactor:

Фактор нагрузки - это показатель того, насколько полная хэш-таблица может быть получена до того, как ее мощность будет автоматически увеличена. Первоначальные параметры коэффициента мощности и нагрузки являются лишь намеками на реализацию. Точные сведения о том, когда и когда вызывается метод rehash, зависят от реализации.

То, что вы должны убрать, состоит в том, что у вас нет власти над тем, сколько места выделяется HashTable. Все, что вы можете сделать, это означать перерыв, когда произойдет новое распределение. Насколько это должно быть, это не в вашей власти (хотя вы можете посмотреть исходный код, чтобы узнать, как определяется новое пространство и на основе этого скорректировать ваш код).

  • 0
    Можете ли вы расширить это? Что такое «loadFactor»?
  • 0
    @ user3364788: добавлено расширение.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню