集合和数组操作
在Scala中,::
、+:
、:+
、:::
和+++
是用于操作集合和数组的几种不同的方法,它们分别有不同的用途和含义:
-
::
(Cons):- 这是一个方法,用于将一个元素添加到集合或数组的开头。
- 例如:
1 :: List(2, 3)
会返回List(1, 2, 3)
。 - 它也可以用于数组:
1 :: arr
会将元素1添加到数组arr
的开头。
-
+:
(Prepend):- 这个方法与
::
类似,也是将一个元素添加到集合或数组的开头。 - 例如:
List(2, 3) +: 1
会返回List(1, 2, 3)
。 - 它同样适用于数组:
arr +: 1
会将元素1添加到数组arr
的开头。
- 这个方法与
-
:+
(Snoc):- 这个方法用于将一个元素添加到集合或数组的末尾。
- 例如:
List(1, 2) :+ 3
会返回List(1, 2, 3)
。 - 它也适用于数组:
arr :+ 1
会将元素1添加到数组arr
的末尾。
-
:::
(Concat):- 这个方法用于将两个集合或数组连接在一起。
- 例如:
List(1, 2) ::: List(3, 4)
会返回List(1, 2, 3, 4)
。 - 它也适用于数组:
arr1 ::: arr2
会将数组arr2
连接到数组arr1
的末尾。
-
+++
(Concat All):- 这个方法用于将多个集合或数组连接在一起。
- 例如:
List(1, 2) +++ List(3, 4) +++ List(5, 6)
会返回List(1, 2, 3, 4, 5, 6)
。 - 它也适用于数组:
arr1 +++ arr2 +++ arr3
会将数组arr2
和arr3
连接到数组arr1
的末尾。
总结来说,::
和 +:
用于在集合或数组的开头添加元素,:+
用于在末尾添加元素,:::
用于连接两个集合或数组,而 +++
用于连接多个集合或数组。
参考
- http://blog.csdn.net/u013063153/article/details/53004857