ETS set是否保证元组的内部顺序与它们插入时的顺序相同?例如:我通过每秒插入一个元组来保存日志,时间戳是关键。在本例中,set是否保证元组按键排序?
我理解ordered_set会做我想做的事情,但是它有一个插入开销。因此,如果set保持插入顺序,那么在我的示例中使用set会更有效。是吗?: -)
提前感谢,尼古拉
不能,对于表类型set
,根本不能保证键的排序顺序。它们被散列,然后使用散列值将元素放入表中。表格偶尔会调整大小,因此顺序也会改变。所以,你只是运气好。
即使ETS set
今天确实满足您的假设,也不能保证它将来会继续这样做-特别是当有一个ordered_set
具有您需要的确切属性时。