Hash Tables are a powerful data structure, associating
keys with values in a very efficient way. Hash Tables
are often preferred over association lists whenever
performance is an issue, but they introduce a little
overhead that makes assoc lists better if there are
only a few key-value pairs to maintain.
Creating a Hash Table
Hash Tables are created using the function
MAKE-HASH-TABLE. It has no required argument. Its most
used optional keyword argument is :TEST, specifying the
function used to test the equality of keys.
Getting a value from a Hash Table
The function GETHASH takes two required arguments: a
key and a hash table. It returns two values: the value
corresponding to the key in the hash table (or NIL if
not found), and a boolean indicating whether the key
was found in the table. That second value is necessary
since NIL is a valid value in a key-value pair, so
getting NIL as first value from GETHASH does not
necessarily mean that the key was not found in the
Log in to post a comment.