与Elixir中的Arrays最接近的是什么。我所说的数组是指可以在恒定时间内访问的值的容器。
我看过元组,但是根据documentation:
我实际上想做的是:
我想将n个进程存储在一个数组中,并定期选择一个随机进程并向其发送一条消息。
我也愿意接受其他建议。
最佳答案
自从我处理流程以来,我最终使用了list
和 registry
的组合。我收到了许多有关Elixir forum的回复,下面将在列表中列出以供将来引用:
Tuple
:连续存储在内存中,访问时间恒定,编辑结果复制整个结构。 是否不实现可枚举协议(protocol)。 List
:O(n)访问时间,前缀比后缀便宜。实现可枚举的协议(protocol)。 Map
:O(log n)读取,写入,删除时间。还实现了Enumerable协议(protocol)。 :array
:来自Erlang的array
模块。 registry
:(仅在存储过程时适用)本地,分散和可扩展的键值过程存储。 另外,请注意2和3(列表和映射)are persistent data structures。