Scala – building lists

All lists are built from two fundamental building blocks, Nil and :: (pronounced “cons”).

Nil represents the empty list.

val empty_1:List[Nothing]=Nil
println(empty_1)

The infix operator, ::, expresses list extension at the front.

val lstNested: List[List[Int]] = List(List(1, 2, 3), List(4, 5, 6))

can be written as

val lstNested_1: List[List[Int]] = (1::(2::(3::Nil))) ::
  (4::(5::List(6)))::Nil

 

object Lists_Operations extends App {


  val v1: List[Int] = List(1, 2, 3)
  val v1_1: List[Int] = 1 :: (2 :: (3 :: Nil))

  println(v1)
  println(v1_1)

  val lstNothing: List[Nothing] = List()
  val lstString: List[String] = List()
  val empty = Nil
  println(empty)

  val lstNested: List[List[Int]] = List(List(1, 2, 3), List(4, 5, 6))
  println(lstNested)

  val lstNested_1: List[List[Int]] = (1 :: (2 :: (3 :: Nil))) ::
    (4 :: (5 :: List(6))) :: Nil

  println(lstNested_1)

  val lstNested_2: List[List[Int]] = (1 :: (2 :: (3 :: Nil))) ::
    (4 :: (5 :: (6 :: Nil))) :: Nil

  println(lstNested_2)
}

Leave a comment