Collections
List Basics
Read simple facts from a small list.
list-basics
A list stores values in order. You can count the values, read the first value, and build a display string.
List Basics
ListBasics.scala
Replay: real traced execution (multi-file project)
object Main {
def main(args: Array[String]): Unit = {
val extra = 4
val numbers = List(1, 2, 3)
val extended = numbers :+ extra
val first = extended.head
val count = extended.length
val joined = extended.mkString(",")
println("first=" + first)
println("count=" + count)
println("joined=" + joined)
}
}
object Main {
def main(args: Array[String]): Unit = {
val extra = 5
val numbers = List(1, 2, 3)
val extended = numbers :+ extra
val first = extended.head
val count = extended.length
val joined = extended.mkString(",")
println("first=" + first)
println("count=" + count)
println("joined=" + joined)
}
}
object Main {
def main(args: Array[String]): Unit = {
val extra = 9
val numbers = List(1, 2, 3)
val extended = numbers :+ extra
val first = extended.head
val count = extended.length
val joined = extended.mkString(",")
println("first=" + first)
println("count=" + count)
println("joined=" + joined)
}
}
extra ← 4, numbers ← List(1, 2, 3), extended ← List(1, 2, 3, 4)
1object Main {2 def main(args: Array[String]): Unit = {3 val extra→ 4 = 4 //@extra=5, 94 val numbers→ List(1, 2, 3) = List(1, 2, 3)5 val extended→ List(1, 2, 3, 4) = numbersList(1, 2, 3) :+ extra46 val first→ 1 = extended.head→ 17 val count→ 4 = extended.length→ 48 val joined→ 1,2,3,4 = extendedList(1, 2, 3, 4).mkString(",")910 println("first=" + first1)11 println("count=" + count4)12 println("joined=" + joined1,2,3,4)13 }14}outputfirst=1 count=4 joined=1,2,3,4
extra ← 5, numbers ← List(1, 2, 3), extended ← List(1, 2, 3, 5)
1object Main {2 def main(args: Array[String]): Unit = {3 val extra→ 5 = 54 val numbers→ List(1, 2, 3) = List(1, 2, 3)5 val extended→ List(1, 2, 3, 5) = numbersList(1, 2, 3) :+ extra56 val first→ 1 = extended.head→ 17 val count→ 4 = extended.length→ 48 val joined→ 1,2,3,5 = extendedList(1, 2, 3, 5).mkString(",")910 println("first=" + first1)11 println("count=" + count4)12 println("joined=" + joined1,2,3,5)13 }14}outputfirst=1 count=4 joined=1,2,3,5
extra ← 9, numbers ← List(1, 2, 3), extended ← List(1, 2, 3, 9)
1object Main {2 def main(args: Array[String]): Unit = {3 val extra→ 9 = 94 val numbers→ List(1, 2, 3) = List(1, 2, 3)5 val extended→ List(1, 2, 3, 9) = numbersList(1, 2, 3) :+ extra96 val first→ 1 = extended.head→ 17 val count→ 4 = extended.length→ 48 val joined→ 1,2,3,9 = extendedList(1, 2, 3, 9).mkString(",")910 println("first=" + first1)11 println("count=" + count4)12 println("joined=" + joined1,2,3,9)13 }14}outputfirst=1 count=4 joined=1,2,3,9
Extend and Read
numbersstarts asList(1, 2, 3).:+ extraappends4and makesextended.headreads the first value.lengthcounts the values.mkString(",")builds display text. | Step | Value | | --- | --- | | start |1,2,3| | after append |1,2,3,4| | first |1| | count |4|
Exercise: ListBasics.scala
Append one number to a list, then print the first value, count, and joined text