Copyright (C) 2000-2012 |
GNU Info (elisp)Hash TablesHash Tables *********** A hash table is a very fast kind of lookup table, somewhat like an alist in that it maps keys to corresponding values. It differs from an alist in these ways: * Lookup in a hash table is extremely fast for large tables--in fact, the time required is essentially _independent_ of how many elements are stored in the table. For smaller tables (a few tens of elements) alists may still be faster because hash tables have a more-or-less constant overhead. * The correspondences in a hash table are in no particular order. * There is no way to share structure between two hash tables, the way two alists can share a common tail. Emacs Lisp (starting with Emacs 21) provides a general-purpose hash table data type, along with a series of functions for operating on them. Hash tables have no read syntax, and print in hash notation, like this: (make-hash-table) => #<hash-table 'eql nil 0/65 0x83af980> (The term "hash notation" refers to the initial `#' character--Note: Printed Representation--and has nothing to do with the term "hash table.") Obarrays are also a kind of hash table, but they are a different type of object and are used only for recording interned symbols (Note: Creating Symbols). automatically generated by info2www version 1.2.2.9 |