Ruby中的Set是否始终保留插入顺序?
即,Ruby的Set是否等同于Java的LinkedHashSet?
在Ruby 1.9中: 是的 。 在Ruby 1.8中: 可能不是 。
Set
在内部使用Hash
; 由于哈希是在1.9中插入排序的,所以你很高兴!
由于mu太短指出,这是一个实现细节,可能在未来发生变化(尽管不太可能)。 值得庆幸的是, Set
的当前实现是纯ruby,如果你愿意,可以在将来适应OrderedSet
即,Ruby的Set是否等同于Java的LinkedHashSet?
在Ruby 1.9中: 是的 。 在Ruby 1.8中: 可能不是 。
Set
在内部使用Hash
; 由于哈希是在1.9中插入排序的,所以你很高兴!
由于mu太短指出,这是一个实现细节,可能在未来发生变化(尽管不太可能)。 值得庆幸的是, Set
的当前实现是纯ruby,如果你愿意,可以在将来适应OrderedSet