Jangan lupa bahwa lama tepercaya intomemungkinkan Anda mengambil apa pun yang seqbisa (daftar, vektor, peta, set, sortir-peta) dan wadah kosong yang ingin Anda isi, dan letakkan into.
(into [] '(1 2 3 4)) ==> [1 2 3 4] "have a lazy list and want a vector"
(into #{} [1 2 3 4]) ==> #{1 2 3 4} "have a vector and want a set"
(into {} #{[1 2] [3 4]}) ==> {3 4, 1 2} "have a set of vectors want a map"
(into #{} [{1 2} {3 4}]) ==> #{{1 2} {3 4}} "have a vector of maps want a set of maps"
intoadalah pembungkus conj, yang merupakan abstraksi dasar untuk menyisipkan entri baru secara tepat ke dalam koleksi berdasarkan jenis koleksi. Prinsip yang membuat aliran ini begitu bagus adalah bahwa Clojure dibangun di atas abstraksi yang dapat disusun , dalam hal ini intodi atas conjdi atas koleksi dan seq.
Contoh di atas akan tetap tersusun dengan baik jika penerima diteruskan pada waktu proses: karena abstraksi yang mendasarinya ( seqdan conj) diimplementasikan untuk semua koleksi (dan juga banyak koleksi Java), jadi abstraksi yang lebih tinggi tidak perlu khawatir tentang banyak kasus sudut khusus terkait data.