Clojure Makes Java Seq-able
The seq abstraction of first/rest applies to anything that there can be more than one of. In the Java world, that includes the following:
The Collections API
File system traversal
Relational database results
Clojure wraps these Java APIs, making the sequence library available for almost everything you do.
Seq-ing Java Collections
If you try to apply the sequence functions to Java collections, you will find that they behave as sequences. Collections that can act as sequences are called seq-able. For example, arrays are seq-able: