Data Structures and Collections

Understand how Clojure's core collection types differ so you can choose the right default shape for reads, updates, membership checks, and code-as-data work.

Clojure’s core collection types are small in number but very different in day-to-day use. The practical question is not whether vectors, lists, maps, and sets are all immutable. The real question is which access pattern, update pattern, and semantic meaning each one supports best.

This section focuses on collection choice as a design decision. Use it to understand which collection should be your default, when a different shape communicates intent more clearly, and which mistakes create avoidable performance or readability problems.

In this section

Revised on Thursday, April 23, 2026