溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

scala中:: , +:, :+, :::, +++的區(qū)別有哪些

發(fā)布時間:2021-06-16 14:19:22 來源:億速云 閱讀:190 作者:小新 欄目:大數(shù)據(jù)

這篇文章主要介紹scala中:: , +:, :+, :::, +++的區(qū)別有哪些,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

4種操作符的區(qū)別和聯(lián)系

  • :: 該方法被稱為cons,意為構(gòu)造,向隊列的頭部追加數(shù)據(jù),創(chuàng)造新的列表。用法為 x::list,其中x為加入到頭部的元素,無論x是列表與否,它都只將成為新生成列表的第一個元素,也就是說新生成的列表長度為list的長度+1(btw, x::list等價于list.::(x))

  • :++: 兩者的區(qū)別在于:+方法用于在尾部追加元素,+:方法用于在頭部追加元素,和::很類似,但是::可以用于pattern match ,而+:則不行. 關(guān)于+::+,只要記住冒號永遠(yuǎn)靠近集合類型就OK了。

  • ++ 該方法用于連接兩個集合,list1++list2

  • ::: 該方法只能用于連接兩個List類型的集合

具體示例 

scala> "A"::"B"::Nil
res0: List[String] = List(A, B)

scala> "A"+:"B"+:Nil
res1: List[String] = List(A, B)

scala> Nil:+"A":+"B"
res2: List[String] = List(A, B)

scala> res0 ++ res1
res3: List[String] = List(A, B, A, B)

scala> res0 ::: res1
res4: List[String] = List(A, B, A, B)

scala> res0 :: res1
res5: List[java.io.Serializable] = List(List(A, B), A, B)

以上是“scala中:: , +:, :+, :::, +++的區(qū)別有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI