与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

    10-07 19:33
    查看更多