Elixir语言中 MapSet
相关用法介绍如下。
适用于集合的函数。
集合是一种数据结构,可以包含任何类型的唯一元素,没有任何特定顺序。
是 Elixir 中的 "go to" 集合数据结构。MapSet
可以使用
构造一个集合:MapSet.new/0
iex> MapSet.new()
#MapSet<[]>
集合中的元素不必是同一类型,它们可以使用
从 enumerable 填充:MapSet.new/1
iex> MapSet.new([1, :two, {"three"}])
#MapSet<[1, :two, {"three"}]>
可以使用
插入元素:MapSet.put/2
iex> MapSet.new([2]) |> MapSet.put(4) |> MapSet.put(0)
#MapSet<[0, 2, 4]>
根据定义,集合不能包含重复的元素:当在集合中插入一个元素时,它已经存在,插入只是一个no-op。
iex> map_set = MapSet.new()
iex> MapSet.put(map_set, "foo")
#MapSet<["foo"]>
iex> map_set |> MapSet.put("foo") |> MapSet.put("foo")
#MapSet<["foo"]>
在内部使用 MapSet
%MapSet{}
结构表示。只要需要对
进行模式匹配,就可以使用此结构:MapSet
iex> match?(%MapSet{}, MapSet.new())
true
但是请注意,结构字段是私有的,不能直接访问;使用此模块中的函数对集合执行操作。
s 也可以从其他 collection-type 数据结构开始构造:例如,参见 MapSet
或 MapSet.new/1
。Enum.into/2
建立在 MapSet
之上,这意味着它们共享许多属性,包括对数时间复杂度。有关其执行时间复杂度的更多信息,请参阅Map
的文档。Map
相关用法
- Elixir MapSet.intersection用法及代码示例
- Elixir MapSet.member?用法及代码示例
- Elixir MapSet.size用法及代码示例
- Elixir MapSet.equal?用法及代码示例
- Elixir MapSet.new用法及代码示例
- Elixir MapSet.difference用法及代码示例
- Elixir MapSet.to_list用法及代码示例
- Elixir MapSet.disjoint?用法及代码示例
- Elixir MapSet.subset?用法及代码示例
- Elixir MapSet.delete用法及代码示例
- Elixir MapSet.put用法及代码示例
- Elixir MapSet.union用法及代码示例
- Elixir Map.keys用法及代码示例
- Elixir Map.values用法及代码示例
- Elixir Map.update用法及代码示例
- Elixir Map.split用法及代码示例
- Elixir Map.put_new_lazy用法及代码示例
- Elixir Map.drop用法及代码示例
- Elixir Map用法及代码示例
- Elixir Map.get用法及代码示例
- Elixir Map.new用法及代码示例
- Elixir Map.take用法及代码示例
- Elixir Map.get_and_update!用法及代码示例
- Elixir Map.has_key?用法及代码示例
- Elixir Map.replace用法及代码示例
注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 MapSet。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。