Хеш-таблицы
Хеш-таблица — это очень быстрый тип таблицы поиска, в некотором смысле похожий на ассоциативный список (см. Ассоциативные списки), поскольку он сопоставляет ключи соответствующим значениям. Она отличается от ассоциативного списка следующим:
- Поиск в хеш-таблице выполняется чрезвычайно быстро для больших таблиц — фактически затрачиваемое время практически не зависит от количества элементов в таблице. Для небольших таблиц (несколько десятков элементов) ассоциативные списки всё ещё могут работать быстрее, поскольку хеш-таблицы имеют более или менее постоянные накладные расходы.
- Соответствия в хеш-таблице не имеют определённого порядка.
- Невозможно совместно использовать структуру двух хеш-таблиц, как это можно сделать с общим хвостом двух ассоциативных списков.
Emacs Lisp предоставляет универсальный тип данных «хеш-таблица», а также набор функций для работы с ними. У хеш-таблиц есть особое печатное представление: «#s», за которым следует список свойств и содержимого хеш-таблицы. См. Создание хеш-таблиц. (Нотация с решёткой — начальный символ «#», используемый в печатных представлениях объектов без представления для чтения, — не имеет отношения к хеш-таблицам. См. Печатное представление и синтаксис чтения.)
Обэарреи также являются разновидностью хеш-таблиц, но представляют собой объекты другого типа и используются только для хранения интернированных символов (см. Создание и интернирование символов).
Copyright © 1990-1996, 1998-2026 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Hash-Tables.html