Иллюстрированный самоучитель по Java

Класс Hashtable

Класс Hashtable расширяет абстрактный класс Dictionary. В объектах этого класса хранятся пары "ключ – значение".

Из таких пар "Фамилия И. О. – номер" состоит, например, телефонный справочник.

Еще один пример – анкета. Ее можно представить как совокупность пар "Фамилия – Иванов", "Имя – Петр", "Отчество – Сидорович", "Год рождения – 1975" и т. д.

Подобных примеров можно привести множество.

Каждый объект класса Hashtable кроме размера (size) – количества пар, имеет еще две характеристики: емкость (capacity) – размер буфера, и показатель загруженности (load factor) – процент заполненности буфера, по достижении которого увеличивается его размер.

Как создать таблицу

Для создания объектов класс Hashtable предоставляет четыре конструктора:

  • Hashtable () – создает пустой объект с начальной емкостью в 101 элемент и показателем загруженности 0.75;
  • Hashtable (int capacity) – создает пустой объект с начальной емкостью capacity и показателем загруженности 0.75;
  • Hashtable(int capacity, float loadFactor) – создает пустой Объект с начальной емкостью capacity и показателем загруженности loadFactor;
  • Hashtable (Map f) – создает объект класса Hashtable, содержащий все элементы отображения f, с емкостью, равной удвоенному числу элементов отображения f, но не менее 11, и показателем загруженности 0.75.

Как заполнить таблицу

Для заполнения объекта класса Hashtable используются два метода:

  • Object put(Object key, Object value) – добавляет пару " key– value ", если ключа key не было в таблице, и меняет значение value ключа key, если он уже есть в таблице. Возвращает старое значение ключа или pull, если его не было. Если хотя бы один параметр равен null, возникает исключительная ситуация;
  • void putAll(Map f) – добавляет все элементы отображения f. В объектах-ключах key должны быть реализованы методы hashCode() и equals ().
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.