3

ETS 设置是否保证元组的内部顺序与插入它们的顺序相同?例如:我通过每秒插入一个元组来保存日志,时间戳是关键。在这个例子中,set 是否保证元组按键排序?

我知道 ordered_set 会做我想做的事,但它有插入开销。因此,如果 set 保持插入顺序,那么在我的示例中使用 set 会更有效。那么,是吗?:-)

在此先感谢,尼古拉

4

2 回答 2

5

不,对于表类型set,根本无法保证键的排序顺序。它们被散列,然后散列值用于将元素放入表中。该表偶尔会调整大小并重新排序,因此顺序会发生变化。所以不,你只是幸运。

于 2011-11-11T14:35:45.447 回答
2

即使 ETS今天set 确实满足了您的假设,也不能保证它会在未来继续这样做——尤其是当有一个ordered_set具有您需要的确切属性时。

于 2011-11-11T04:03:38.767 回答