Add an element by creating a new list.

Building a New List

BuildList.scala
object Main {
  def main(args: Array[String]): Unit = {
    val extra = 
    val base = List(1, 2, 3)
    val grown = base :+ extra

    println("base=" + base.mkString(","))
    println("grown=" + grown.mkString(","))
    println("baseSize=" + base.length)
  }
}
object Main {
  def main(args: Array[String]): Unit = {
    val extra = 
    val base = List(1, 2, 3)
    val grown = base :+ extra

    println("base=" + base.mkString(","))
    println("grown=" + grown.mkString(","))
    println("baseSize=" + base.length)
  }
}
object Main {
  def main(args: Array[String]): Unit = {
    val extra = 
    val base = List(1, 2, 3)
    val grown = base :+ extra

    println("base=" + base.mkString(","))
    println("grown=" + grown.mkString(","))
    println("baseSize=" + base.length)
  }
}
build-list Appending with `:+` returns a new list and leaves the original unchanged. The old list keeps its size, so earlier code still sees the same values.