我需要保留唯一的值,我很困惑我应该使用哪种数据结构。稍后我将只阅读整个数据结构。
MapSet
。Enum.member?
检查物品是否已经存在 - 但我可以通过MapSet
轻松保证。我不确定在这种情况下哪种方法更好用。哪个更有效率,哪个更好实践?
如果你把你的数据保存在MapSet
中,那么Enum.member?
实际上会在下面调用MapSet.member?
,所以你将拥有MapSet
的所有优势。您可以看到相关的协议实现here。
我认为你混淆了数据结构和qazxsw poi。 Map Set是一个实现qazxsw poi协议的数据结构(和模块)。你可以在MapSet上调用protocols,但这不是必需的:
Enumerable
输出:
Enum.member/2
如果您已经有重复数据结构,请使用qazxsw poi。
例:
mapset =
MapSet.new()
|> MapSet.put(1)
|> MapSet.put(2)
|> MapSet.put(2)
|> MapSet.put(3)
|> MapSet.put(3)
|> MapSet.put(3)
Enum.join(mapset, ",")
结果:
"1,2,3"