首页 > 解决方案 > maps:from_list 是否保证保留相反的顺序?

问题描述

maps:from_list似乎保留了与列表相反的顺序。这个例子来自文档:

List = [{"a",ignored},{1337,"value two"},{42,value_three},{"a",1}],
  maps:from_list(List).

这种行为是否得到保证?

标签: erlang

解决方案


“保留列表的相反顺序”并不是很准确,因为这意味着地图会以某种方式呈现该顺序,而它不会那样做。我认为您真正要问的是与列表中稍后出现的键关联的值是否存储在映射中,从而有效地删除了列表中较早出现的那些;如果是这样,maps:from_list/1文档提供以下保证:

如果同一个键出现多次,则使用后一个(最右边)的值,而忽略前一个值。


推荐阅读