val list1 = List(1,2)
val list2 = List(3,4)
然后
list1::list2 returns:
List[Any] = List(List(1, 2), 3, 4)
list1:::list2 returns:
List[Int] = List(1, 2, 3, 4)
我看到这本书写道,当使用::
时,它也会产生List[Int] = List(1, 2, 3, 4)
。我的Scala版本是2.9。
答案 0 :(得分:98)
::
预先设置单个项目,而:::
预先设置完整列表。因此,如果您将List
放在::
前面,则会将其视为一个项目,从而产生嵌套结构。
答案 1 :(得分:5)
通常:
::
-在列表的开头添加元素,并返回包含添加的元素的列表:::
-连接两个列表并返回连接的列表例如:
1 :: List(2, 3) will return List(1, 2, 3)
List(1, 2) ::: List(3, 4) will return List(1, 2, 3, 4)
在您的特定问题中,使用::
会导致列表中的列表(<嵌套列表),因此我相信您更喜欢使用:::
。