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

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

- :: 該方法被稱為cons,意為構(gòu)造,向隊(duì)列的頭部追加數(shù)據(jù),創(chuàng)造新的列表。用法為 x :: list,其中 x 為加入到頭部的元素,無(wú)論 x 是列表與否,它都只將成為新生成列表的第一個(gè)元素,也就是說(shuō)新生成的列表長(zhǎng)度為 list 的長(zhǎng)度 +1 ( btw, x :: list 等價(jià)于 list.::(x) )
- :++:兩者的區(qū)別在于:+ 方法用于在尾部追加元素,+:方法用于在頭部追加元素,和 ::很類似,但是 :: 可以用于 pattern match ,而 +: 則不行. 關(guān)于 +::+ ,只要記住冒號(hào)永遠(yuǎn)靠近集合類型就OK了。

  • ++ 該方法用于連接兩個(gè)集合,list1 ++ list2
    -::: 該方法只能用于連接兩個(gè)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)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,564評(píng)論 19 139
  • Scala的集合類可以從三個(gè)維度進(jìn)行切分: 可變與不可變集合(Immutable and mutable coll...
    時(shí)待吾閱讀 5,953評(píng)論 0 4
  • 戶外廣告監(jiān)測(cè)難點(diǎn)多,隨著經(jīng)濟(jì)發(fā)展,廣告主對(duì)廣告投放要求越來(lái)越多越來(lái)越高,一天換一個(gè)畫面家常便飯,還要求必須現(xiàn)場(chǎng)監(jiān)播...
    戶外決策閱讀 243評(píng)論 0 0
  • 表結(jié)構(gòu) 表數(shù)據(jù) 數(shù)據(jù)字典SQL
    work1Y閱讀 199評(píng)論 0 0
  • 第11天:處理可以處理的誘因 皮卡丘手還沒有恢復(fù)沒去學(xué)校,晚餐時(shí)發(fā)生了吼叫事件:因?yàn)榱c(diǎn)多的時(shí)候店里還有客人,所以...
    皮卡丘媽媽閱讀 116評(píng)論 0 0

友情鏈接更多精彩內(nèi)容