Хэш -таблица также известна как список распределения, который представляет собой структуру класса коллекции, используемая для хранения объектов группы.
Что такое хэш -таблица
Как массивы, так и векторы могут хранить объекты, но положение хранилища объекта является случайным, то есть нет необходимого соединения между самим объектом и его положением хранения. Если вы хотите найти объект, вы можете сравнивать только с каждым элементом только в определенном порядке (например, последовательный поиск или два -точечные поиска). быть значительно уменьшенным.
Эффективный метод хранения заключается в том, что он не сравнивается с другими элементами, и можно получить запись, которая может быть получена за раз. Это требует установления конкретной соответствующей взаимосвязи между положением хранения объекта и атрибутом ключа объекта (установленного в k), чтобы соответствовать каждому объекту, соответствующему уникальному положению хранения. При поиске просто рассчитайте значение f (k) на основе атрибутов ключа объекта, которое будет проверено. Если этот объект находится в коллекции, он должен находиться в позиции хранения F (k), поэтому нет необходимости сравнивать с другими элементами в наборе. Называется это соответствующее отношение F как хэш -метод, а таблица, установленная в соответствии с этой идеей, является хэш -таблицей.
Java использует хэш -категорию для достижения хэш -таблицы.
• Емкость: емкость хэштета не является фиксированной, а емкость объекта также может увеличиваться автоматически.
• Ключ (ключ): Каждый объект хранения требует ключа. Все ключевые слова в хэштебе уникальны.
• Хэш -код: если вы хотите сохранить объект в хештибл, вам необходимо отобразить ключ ключевого слова с целочисленными данными, чтобы стать хэш -кодом ключа.
• Элемент: Каждый из хэштата имеет два домена, которые представляют собой ключевой ключ -ключ ключевой слов и значение домена значения (объект хранения). Как ключ, так и значение могут быть объектом типа объекта, но он не может быть пустым.
• Коэффициент нагрузки: коэффициент заполнения представлен полнотой хэш -таблицы, и его значение равно длине количества элементов, чем вышеуказанная хэш -таблица.
Использование хеш -таблицы
Существует три основных формы строительных методов для хэш -таблиц:
Hashtable ();
Hashtable (int емкость);
Hashtable (int емкость, float loadfactor)
Основные методы хэш-таблиц показаны в таблице 8-6.
Таблица 8-6 Часто методы, определяемые определением хэш-таблицы
метод | Функция |
---|---|
void clear () | Re -Set и очистить хэш -таблицу |
Boolean содержит (значение объекта) | Определите, содержит ли хэш -таблица заданный объект, если есть возврат истина, в противном случае неверно будет возвращено |
Boolean Constainskey (объектный ключ) | Определите, содержит ли хэш -таблица заданное ключевое слово, если есть возврат к TRUE, в противном случае FALSE будет возвращен |
логический isempty () | Убедитесь, пуста ли хэш -таблица, если вы вернетесь к True, в противном случае FALSE будет возвращено |
Object Get (объект ключ) | Объект для получения соответствующих ключевых слов, если нет возврата NULL |
void rehash () | Независимо от того, что таблица хеш -расширения может сохранить больше элементов. |
Объект PUT (ключ объекта, значение объекта) | Сохраните объект в хэш -таблице с данным ключевым словом. |
Объект удалить (ключ объекта) | Удалить объект, соответствующий фазе ключевого слова из хэш -таблицы, если объект не возвращается в NULL |
int size () | Вернуться к размеру хеш -таблицы |
String toString () | Преобразовать содержание хэш -таблицы в строку |
Создание хэш -таблицы также может быть реализовано через нового оператора. Его утверждение:
HaveTable Has = new Hashtable ();
пример:
[Пример 8-12] пересечение хэш-таблиц.
// ************ ep8_12.java ********************************* ********************************************* ******************* Импорт java.util.*; Has.put (one », новое целое число (1)); ", новый Double (12.3)); set s = has.keyset (); for (iterator <string> i = s.iterator (); I.next ()));}}}
Результаты запустить:
21312.3