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没有“::”方法。
阅读(1763) | 评论(0) | 转发(0) |