3

我有一些这样的代码:

Table = ets:new(table, [bag]),
true = ets:insert(Table, {bucket_1, some_value_1}),
true = ets:insert(Table, {bucket_1, some_value_2}),
true = ets:insert(Table, {bucket_1, some_value_3}),

LookupResult = ets:lookup(Table, bucket_1),
?_assertEqual(
    [{bucket_1, some_value_1}, {bucket_1, some_value_2}, {bucket_1, some_value_3}],
    LookupResult
).

ETS 是否保证桶内元素的排序?我是否应该期望 ETS 保存元素的顺序,因为元素已添加到表中?

4

1 回答 1

5

规格lookup/2说:

[...] 对象插入的时间顺序得以保留;使用给定键插入的第一个对象将在结果列表中排在第一位,依此类推。

于 2014-05-17T18:10:27.710 回答