Rand
Rand

Reputation: 1011

Scala Nil equivalent for Set

Is there an equivalent of Nil for Set in scala?

I tried using Nil as a value for Set, but I got an error (expected since the type of Nil is List)

Thanks

Upvotes: 31

Views: 14729

Answers (3)

Rex Kerr
Rex Kerr

Reputation: 167921

Set.empty is that set; although you can't get at it directly, it turns out that it is just a private object in the Set companion object (called, obviously enough, EmptySet). All that Set.empty does is return that set with a cast to the correct type.

It is done this way, instead of with Nil, because sets are invariant in their parameters. Nil is List[Nothing](), but you couldn't add anything to a Set[Nothing]().

If you need to specify the type of your empty set, you can use e.g. Set.empty[String].

Upvotes: 42

Chris Shain
Chris Shain

Reputation: 51369

I think you are looking for Set.empty

Upvotes: 7

paradigmatic
paradigmatic

Reputation: 40461

You can use Set.empty or simply Set().

Upvotes: 12

Related Questions