Normally you should be more concerned with the interface that the collection implements rather than its concrete type, i.e. you should think in terms of Seq
, LinearSeq
, and IndexedSeq
rather than List
, Array
, and Vector
, which are concrete implementations. So arguably there shouldn't be toList
and toArray
either, but I guess they're there because they're so fundamental.
The toIndexedSeq
method in practice provides you with a Vector
, unless a collection overrides this in order to provide a more efficient implementation. You can also make a Vector with Vector() ++ c
where c
is your collection.