List
List 是 imutable sequence 不可变序列 修改List内容实际上是重新创建了一个新的List
List 是linked-list 链表,在数据结构中我们学过当访问一个超大链表时因为无法随机访问,导致访问速度回很慢。如果要访问超大链表建议使用Vector or ArrayBuffer
如何理解+: 、:+ 、++:等中的‘:’作用 ‘:’放在操作符的哪边就在哪边添加序列
a :+ 4
0 +: a
:: 与 ::
// 在:: 操作符中,a为加入到头部的第一个元素,无论a是列表与否。
//当 a 为List时
a = List(1,2)
b = List(3,4)
scala> a::b
res2: List[Any] = List(List(1, 3), 4, 5)
// 当a 为单一数值时
a = 5
b = List(3,4)
scala> a :: b
res0: List[Int] = List(5, 3, 4)
// 在:::操作符两端必须是List集合。
a = List(1,2)
b = List(3,4)
scala> a:::b
res3: List[Int] = List(1, 3, 4, 5)
(2) :+和+: 两者的区别在于:+方法用于在尾部追加元素,+:方法用于在头部追加元素,和::很类似,但是::可以用于pattern match ,而+:则不行. 关于+:和:+,只要记住冒号永远靠近集合类型就OK了。
(3) ++ 该方法用于连接两个集合,list1++list2
(4) ::: 该方法只能用于连接两个List类型的集合