All built-in Clojure collections are immutable and heterogeneous, have literal syntax, and support the conj, count, and seq functions.

  • conj returns a new collection that is equivalent to an existing collection with an item "added", in either "constant" or logarithmic time. What exactly this means depends on the collection.
  • count returns the number of items in a collection, in constant time.
  • seq returns nil for an empty collection, or a sequence of items for a non-empty collection, in constant time.