hash-table-count
hash-table ⇒ count
hash-table | a hash table. |
count | a non-negative integer. |
Returns the number of entries in the hash-table.
If hash-table has just been created
or newly cleared (see clrhash)
the entry count is 0
.
(setq table (make-hash-table)) ⇒ #<HASH-TABLE EQL 0/120 32115135>
(hash-table-count table) ⇒ 0
(setf (gethash 57 table) "fifty-seven") ⇒ "fifty-seven"
(hash-table-count table) ⇒ 1
(dotimes (i 100) (setf (gethash i table) i)) ⇒ NIL
(hash-table-count table) ⇒ 100
The following relationships are functionally correct, although in practice using hash-table-count is probably much faster:
(hash-table-count table) ≡
(loop for value being the hash-values of table count t) ≡
(let ((total 0))
(maphash #'(lambda (key value)
(declare (ignore key value))
(incf total))
table)
total)