最接近Elixir中数组的东西

Anu*_*hne 7 arrays tuples elixir

与Elixir中的Arrays最接近的是什么。我的意思是数组,它是一个可以在恒定时间内访问的值的容器。

我看过元组,但是根据文档

元组并不意味着要用作“集合”类型(这也由不存在元组的Enumerable协议的实现所暗示):它们主要是用作多个元素的固定大小的容器。

我实际上想做的是:我想在一个数组中存储n个进程,并定期选择一个随机进程并向其发送一条消息。我也愿意接受其他建议。

Anu*_*hne 5

我最终使用的组合listregistry,因为我是用流程工作。我在Elixir论坛上收到了很多回复,下面列出以供将来参考:

  1. Tuple:连续存储在内存中,访问时间恒定,编辑结果可复制整个结构。难道没有实现可枚举协议。
  2. 链接的- List:O(n)访问时间,前缀比后缀便宜。实现可枚举的协议。
  3. Map:O(log n)读取,写入,删除时间。还实现了Enumerable协议。
  4. :arrayarray来自Erlang的模块。
  5. registry:(仅适用于存储过程)本地,分散和可扩展的键值过程存储。

另外,注释2和3(列表和映射)是持久性数据结构