Let's start by discussing a few immutable concrete collections.
Commonly used collections in Scala
List
A list is a linear sequence and can be defined simply, as follows:
val aList = List(1,2,3,4)
The syntax shown declares and instantiates the linear sequence with the elements provided. The runtime representation of the list constructed will look like this:
1 :: 2 :: 3 :: 4 :: Nil
Here, Nil represents the end of the list. It's normal to represent an empty list as Nil. The preceding representation is also a way to construct a list, and this is possible because of the "::" operator. This is called the cons operator, and it is used to construct a list. It's a right-associative operator...