设置在ruby中的优点

Set的主要优点似乎是保持独特的元素.但这可以很容易地在Array中实现,
array = [2,3,4]
array | [2,5,6] # => [2,4,6]@H_502_3@ 
 

我遇到的唯一不同特征(可能适用于少数用例)是,

set1 = [1,2,3].to_set
set2 = [2,1,3].to_set
set1 == set2 # => true
[1,3] == [2,3] # => false@H_502_3@ 
 

由于Array具有与之相关的各种功能和操作,因此何时以及为何应该使用Set?

有许多链接可以比较Array和Set,但我没有遇到Set的重要应用.

解决方法

当然,无论你用Set做什么,都有办法用Array做.使用Set的优点在于,由于它是基于Hash实现的,因此大多数操作都是O(1)复杂度,而使用Array执行它可能是O(n).

例子是:

Set.new([1,3]).include?(2) # O(1) complexity
[1,3].include?(2) # O(n) complexity@H_502_3@

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...