Scala 幾種集合連線方法注意區分
阿新 • • 發佈:2019-02-12
:: 該方法被稱為cons(構造),向佇列的頭部追加資料,創造新的列表。無論x是列表與否,它都只將成為新生成列表的第一個元素,也就是說新生成的列表長度為list的長度+1
val list=List(1,2,3)
val newlist=4::list
val new2=list.::(4)//和上面等價
// val newlist=list::4 //會報錯,提示value :: is not a member of Int
println(newlist)
println(new2)
//輸出都是List(4, 1, 2, 3)
val newlist=4 ::list
val new3=list2::list
println(new3)
// 輸出 List((4,5,6), 1, 2, 3)
:+方法在尾部追加元素
+:方法在頭部追加元素,和::很類似,但是::可以用於pattern match ,而+:則不行
記住冒號永遠靠近集合型別,否則報錯
val list=List(1,2,3)
val list2=(4,5,6)
val n1=list:+4
println(n1)
//輸出 List(1, 2, 3, 4)
val n2=4+:list
println(n2)
//輸出 List(4, 1, 2, 3)
++ 連線兩個集合,list1++list2
::: 只能用於連線兩個List型別的集合
參考 《Scala程式設計》