In elixir we have Maps:
> map = %{:a => \"one\", :b => \"two\"} # = %{a: \"one\", b: \"two\"}
> map.a # = \"one\"
>
Maps allow only one entry for a particular key, whereas keyword lists allow the key to be repeated. Maps are efficient (particularly as they grow), and they can be used in Elixir’s pattern matching.
In general, use keyword lists for things such as command-line parameters and for passing around options, and use maps (or another data structure, the HashDict ) when you want an associative array.