1. 程式人生 > >Scala 幾種集合連線方法注意區分

Scala 幾種集合連線方法注意區分

:: 該方法被稱為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程式設計》