How do i allocate a vector with 1042 empty indexes?
Will the storage for it be lazily allocated?
like this
(def a (array-creation-function 1042))
(def b (assoc a 1041 42))
(b 1041)
--> 42
A Vector is a collection of values indexed by contiguous integers. A vector is created by using the vector method in Clojure.
Clojure collections "collect" values into compound values. There are four key Clojure collection types: vectors, lists, sets, and maps. Of those four collection types, vectors and lists are ordered.
It seems that vectors are not sparse so you must specify a value for each index when you create the vector. The easiest way seems to be to call (vec ) on a sequence.
(vec (repeat 1042 nil))
These values are not created lazily it seems.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With