Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

What is the difference between Set and Array in Ruby except for the fact that sets keep unique elements while arrays can keep duplicate elements?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
789 views
Welcome To Ask or Share your Answers For Others

1 Answer

They are very different.

Array

  • An array is an ordered list of objects.
  • An array value can be accessed by referencing its integer position in the list (zero-indexed): a[3] references the 4th object in the array.
  • There is no restriction on what the values can be—duplicate values are allowed in arrays.
  • An array has an object literal notation: [1, 'apple', String, 1, :banana] (this creates and initializes a new Array).
  • Arrays are built in to the core ruby library.

Set

  • A set is an unordered pool of unique objects.
  • Since it's unordered, there is no integer index you can use to access specific elements of a set.
  • The uniqueness restriction means you can't have more than one copy of a value in the set.
  • Set is not part of the core, but part of the standard library, and thus needs a require 'set'.
  • Before Ruby 2.4, there was no object literal notation for sets, you had to create them via Set.new.
    • For Ruby >= 2.4.0 you can use Set[] (e.g. Set[1,2,3])

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...