Commonly used collections in Scala
Let's start by discussing a few immutable concrete collections.
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:
scala> aList.::(5) res2: List[Int] = List(5, 1, 2, 3, 4)
Calling the cons operator on the list results in a list with the new element added at the beginning of the list. This is equivalent to calling the same, using the following code:
scala> 5 :: aList res0: List[Int] = List(5, 1, 2, 3, 4)
We've mentioned...