Scala的List(列表),是不可变、同类型的对象序列,比如都是String、Int。
不可变、同类型的对象序列,意味着每个操作,你都要考虑是否产生新的列表,而非在原有列表上修改。
Scala值得关注的地方,还有:
“:::” - 叠加

scala> var a = List(1, 2)
a: List[Int] = List(1, 2)

scala> var b = List(3, 4)
b: List[Int] = List(3, 4)

scala> var c = a:::b
c: List[Int] = List(1, 2, 3, 4)

“::” - 把新元素加到列表前面,并返回新列表

scala> var d = 0::c
d: List[Int] = List(0, 1, 2, 3, 4)

“::”是被右操作数调用的,上例相当于:

scala> var d = c.::(0)
d: List[Int] = List(0, 1, 2, 3, 4)

Nil的意义
Nil代表空列表。

scala> var e = 1::2::3
<console>:7: error: value :: is not a member of Int
      var e = 1::2::3
                  ^

scala> var e = 1::2::3::Nil
e: List[Int] = List(1, 2, 3)

上面代码的第一个例子为什么是错的?已经解释得很清楚了,Int没有“::”方法。

enter image description here