Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

like image 255
Rand Avatar asked May 08 '12 20:05

Rand


2 Answers

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].

like image 143
Rex Kerr Avatar answered Oct 06 '22 15:10

Rex Kerr


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

like image 44
paradigmatic Avatar answered Oct 06 '22 15:10

paradigmatic