Elixir MapSet 与 Enum.member?

Tan*_*ano 3 elixir

我只需要保留唯一值,但我很困惑应该使用哪种数据结构。稍后我只会阅读整个数据结构。

  • 一种方法是使用MapSet仅包含唯一元素的which。
  • 第二种方法是每次检查Enum.member?一个项目是否已经存在 - 但我可以通过 轻松保证这一点MapSet

我不确定在这种情况下使用哪种方法更好。哪个更有效,哪个是更好的做法?

Paw*_*rok 5

如果您将数据保存在 中MapSet,那么Enum.member?实际上会在MapSet.member?下面调用,因此您将拥有 的所有优点MapSet您可以在这里查看相关协议的实现。