设置操作与ruby中的数组操作的效率

min*_*eow 8 ruby performance ruby-on-rails

集合和数组之间的运算效率有何不同?

例子:

  • 查找
  • 迭代
  • 包括?

Gre*_*ell 15

在Ruby中,Set使用底层Hash来编写其存储空间,它通常应该执行与Hash相同的操作.从而:

  • include?:O(1)表示Set,O(n)表示Array
  • 枚举:两者都是O(n)
  • delete:O(1)表示Set,O(n)表示Array

...等等.

如果通过"查找"表示按索引查找,我会注意到默认的Set实现是无序的,因此它不像Array那样支持该操作.