Я хочу создать хеш-таблицу, которая является конкретным размером каждый раз. Я хочу, чтобы это было 10 x количество блоков (с использованием substring()), которые хранятся в "списке".
for (int k = 0; k < foo.length() - blockSize + 1; k++) {
list = foo.substring(k, k + blockSize);
System.out.println(list);
}
Я посмотрел онлайн и не нашел для этого решения. Могу ли я получить разъяснения по этому поводу?
благодаря
HashTable (вы уверены, что не хотите использовать HashMap вместо?) Имеет перегрузку конструктора, которая принимает loadfactor.
public Hashtable(int initialCapacity, float loadFactor)
Создает новую пустую хэш-таблицу с указанной начальной мощностью и указанным коэффициентом загрузки.
Параметры:
initialCapacity
- начальная емкостьinitialCapacity
.loadFactor
- коэффициент нагрузки хеш-таблицы.
Фактор нагрузки - это показатель того, насколько полная хэш-таблица может быть получена до того, как ее мощность будет автоматически увеличена. Первоначальные параметры коэффициента мощности и нагрузки являются лишь намеками на реализацию. Точные сведения о том, когда и когда вызывается метод rehash, зависят от реализации.
То, что вы должны убрать, состоит в том, что у вас нет власти над тем, сколько места выделяется HashTable
. Все, что вы можете сделать, это означать перерыв, когда произойдет новое распределение. Насколько это должно быть, это не в вашей власти (хотя вы можете посмотреть исходный код, чтобы узнать, как определяется новое пространство и на основе этого скорректировать ваш код).