Spec-Zone.ru › Elisp

Хеш-таблицы

Хеш-таблица — это очень быстрый тип таблицы поиска, чем-то похожая на список ассоциаций (см. Ассоциативные списки) в том, что она сопоставляет ключи соответствующим значениям. Она отличается от списка ассоциаций следующим:

  • Поиск в хеш-таблице очень быстрый для больших таблиц — фактически, затраченное время по существу не зависит от того, сколько элементов хранится в таблице. Для небольших таблиц (несколько десятков элементов) списки ассоциаций могут быть всё ещё быстрее, потому что у хеш-таблиц есть более или менее постоянные накладные расходы.
  • Соответствия в хеш-таблице не имеют определённого порядка.
  • Нет способа совместно использовать структуру между двумя хеш-таблицами, как это могут делать два списка ассоциаций, разделяя общий хвост.

Emacs Lisp предоставляет универсальный тип данных хеш-таблицы, а также ряд функций для работы с ними. Хеш-таблицы имеют специальное представление в формате вывода, которое состоит из ‘#s’ и списка, определяющего свойства и содержимое хеш-таблицы. См. Создание хеш-таблицы. (Нотация хеш, начальный символ ‘#’, используемый в формате вывода объектов без представления для чтения, не имеет ничего общего с хеш-таблицами. См. Представление в формате вывода.)

Объекты-массивы (obarrays) также являются типом хеш-таблицы, но они представляют собой другой тип объектов и используются только для записи интернированных символов (см. Создание символов).

• Создание хеш-таблицы Функции для создания хеш-таблиц.
• Доступ к хеш-таблицам Чтение и запись содержимого хеш-таблицы.
• Определение хеш-таблиц Определение новых методов сравнения.
• Другие хеш-таблицы Разное.

Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Hash-Tables.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API