scala中:: , +:, :+, :::, +++的區別

原文鏈接:https://segmentfault.com/a/1190000005083578

-------------------------------------------------------------

4種操作符的區別和聯系

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

  • :++:?兩者的區別在于:+方法用于在尾部追加元素,+:方法用于在頭部追加元素,和::很類似,但是::可以用于pattern match ,而+:則不行. 關于+::+,只要記住冒號永遠靠近集合類型就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)



本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/538429.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538429.shtml
英文地址,請注明出處:http://en.pswp.cn/news/538429.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python包管理機制_Go 1.5之前的多種包管理機制簡介(

在 Go 語言中,我們可以使用go get命令安裝遠程倉庫中托管的代碼,不同于 Ruby Gem、pypi 等集中式的包管理機制, Go 語言的包管理系統是去中心化的。簡單來講,go get命令支持任何一個位置托管的 Git 或 Mercurial 的倉庫&#xff0…

nc命令簡介

nc介紹 ncat/nc 既是一個端口掃描工具,也是一款安全工具,還能是一款監測工具,甚至可以做為一個簡單的 TCP 代理。 在大多數 Debian 發行版中,nc 是默認可用的,它會在安裝系統的過程中自動被安裝。 但是在 CentOS 7 / R…

java時間日期工具類_java工具類--日期相關;

日期相關Date類1.通常使用的是java.util包2.導包 拿來使用 構建對象3.通常使用無參數的構造方法 或者帶long構造方法4.Date類中常用的方法before(); after();setTime() getTime()compareTo(); -1 1 0;5.可以處理一個Date類型的格式DateFormat類1.包java.text 需要導包使用2.此類…

/* compiled code */ ?

原因:這是所用的ide自帶了反編譯工具,反編譯的。不是具體的源碼 具體的源碼需要手動關聯源碼包

python判斷矩陣是否對稱_Python創建對稱矩陣的方法示例【基于numpy模塊】

本文實例講述了Python創建對稱矩陣的方法。分享給大家供大家參考,具體如下:對稱(實對稱)矩陣也即:step 1:創建一個方陣>>> import numpy as np>>> X np.random.rand(5**2).reshape(5, 5)>>> Xarray([…

重新學習Ubuntu -- 截圖軟件的選擇和安裝

前面兩篇完成了:系統的安裝和系統安裝后的優化。 截圖軟件 shutterflameshot 這個根據自己原來的學習經驗和網上的相關資料來完成截圖軟件的安裝。參照文章: shutter :Ubuntu 18.04/LinuxMint 19中啟用Shutter編輯功能 flameshot:Flameshot:你…

Scala-Actor并行wordcount

scala-2.10.6 文件: "d://word.txt", "d://word.log" 文件內容: 代碼: package cn.zengmg.day26.actorimport scala.actors.{Actor, Future} import scala.collection.mutable.ListBuffer import scala.io.Sourcecase c…

小程序測試用例模板_微信小程序樣式:高質量小程序樣式模板大全

新手想要制作出美觀的小程序,你需要多參考一些好看的微信小程序樣式。今天就帶大家分析幾個高質量小程序的樣式,看看別是怎么把小程序做得美觀又吸引人的:1.電商小程序樣式電商小程序首頁一般是按照“圖片banner - 快捷按鈕 - 商品及分類”的…

Sql Server 2016數據庫生成帶數據的腳本

步驟:右鍵點擊對應數據庫->任務->生成腳本 在彈出的會話框中選擇需要的對象,點擊下一步,在設置和編寫腳本選項中,點開高級按鈕(如圖)選擇架構和數據點擊確定就可以了。 提醒:如果你在數據…

深入理解Scala的隱式轉換系統

原文鏈接:http://www.cnblogs.com/MOBIN/p/5351900.html----------------------------------------------摘要:通過隱式轉換,程序員可以在編寫Scala程序時故意漏掉一些信息,讓編譯器去嘗試在編譯期間自動推導出這些信息來&#xf…

python123輸出最大值_Python:運行另一列的最大值?

我有一個像這樣的數據幀,它跟蹤特定項(ID)的值隨時間的變化:mytimenp.tile( np.arange(0,10) , 2 )myidsnp.repeat( [123,456], [10,10] )myvaluesnp.random.random_integers(20,30,10*2)dfpd.DataFrame()df[myids]myidsdf[mytime]mytimedf[myvalues]myv…

Java連接MySQL

2019獨角獸企業重金招聘Python工程師標準>>> <1> 在navicat中創建一個MySQL連接&#xff0c;填寫連接名和密碼&#xff08;密碼為你配置MySQL設置的密碼&#xff09; <2> 在該連接中新建一個數據庫&#xff0c;填寫數據庫名。字符集選擇&#xff08;gb-…

ssm實訓報告心得_Java開發學習心得(一):SSM環境搭建

Java開發學習心得&#xff08;一&#xff09;&#xff1a;SSM環境搭建有一點.NET的開發基礎&#xff0c;在學校學過基礎語法&#xff0c;對JAVA有點興趣&#xff0c;就簡單學習了一下&#xff0c;記錄一下從哪些方面入手的&#xff0c;暫時不打算深入到原理方面&#xff0c;先簡…

Java中boolean類型占用多少個字節

原文地址&#xff1a;http://www.cnblogs.com/wangtianze/p/6690665.html?utm_sourceitdadao&utm_mediumreferral ----------------------- 為什么要問這個問題&#xff0c;首先在Java中定義的八種基本數據類型中&#xff0c;除了其它七種類型都有明確的內存占用字節數外…

java虛引用作用_深入理解Java中的引用(二)——強軟弱虛引用

深入理解Java中的引用(二)——強軟弱虛引用在上一篇文章中介紹了Java的Reference類&#xff0c;本篇文章介紹他的四個子類&#xff1a;強引用、軟引用、弱引用、虛引用。強引用(StrongReference)強引用是我們在代碼中最普通的引用。示例代碼如下&#xff1a;Object o new Obje…

SQL查詢表的列名

SELECT COLUMN_NAME FROM DBA_TAB_COLUMNS WHERE TABLE_NAME DT4_JOB_CHECK_MATRIX;SELECT COLUMN_NAME FROM ALL_TAB_COLUMNS WHERE TABLE_NAME DT4_JOB_CHECK_MATRIX;SELECT COLUMN_NAME FROM USER_TAB_COLUMNS WHERE TABLE_NAME DT4_JOB_CHECK_MATRIX;

java老鳥123怎么樣_java入門123——一個老鳥的java學習心得.doc

java入門123——一個老鳥的java學習心得java入門123——一個老鳥的java學習心得篇一&#xff1a;java初學者學習心得學習Java心得體會學習了一學期的Java課程,覺得是該總結自己的心得體會了。開始學習任何一門課(包括java)&#xff0c;興趣最重要。一直覺得自己在學計算機編程語…

ruby 爬蟲爬取拉鉤網職位信息,產生詞云報告

思路&#xff1a;1.獲取拉勾網搜索到職位的頁數 2.調用接口獲取職位id 3.根據職位id訪問頁面&#xff0c;匹配出關鍵字 url訪問采用unirest&#xff0c;由于拉鉤反爬蟲&#xff0c;短時間內頻繁訪問會被限制訪問&#xff0c;所以沒有采用多線程&#xff0c;而且每個頁面訪問時間…

評論語義分析 分詞 分類python_用python調用ICTCLAS50進行中文分詞

直接上源碼吧tokenizer類&#xff1a;#_*_encoding:utf-8_*_from ctypes import *class tokenizer:def __init__(self):self._stext[、,“,”,&#xff0c;,。,《,》,&#xff1a;,&#xff1b;,!,‘,’,?,&#xff1f;,&#xff01;,, ,] #枚舉標點符號包括空格self._stopwor…

java對日期Date類進行加減運算、年份加減,月份加減

JAVA處理日期時間常用方法&#xff1a; 1.Java.util.Calendar Calendar 類是一個抽象類&#xff0c;它為特定瞬間與一組諸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日歷字段之間的轉換提供了一些方法&#xff0c;并為操作日歷字段&#xff08;例如獲得下星期的日期&#xff09…