Maps are hashtables, Vectors are a contiguous area of memory where each element can be access by index referring to a specific address in that memory.
Vectors are usually also homogeneous about the data they hold, because each element should occupy the same fixed amount of memory, such as i*item_size gievs you back the offset of the element i in memory.
Anyway, in Elixir you can use the Erlang's :array module
I'm pretty sure erlangs :array is just a skin over tuple, so it's ~O(1) but not contiguous. might be O(log n) for dynamic arrays. The only truly array datatype in Erlang is :atomics
Vectors are usually also homogeneous about the data they hold, because each element should occupy the same fixed amount of memory, such as i*item_size gievs you back the offset of the element i in memory.
Anyway, in Elixir you can use the Erlang's :array module