scala的cons(::)和(:::)連接符和對List元素的操作

摘自我們公司內網的一位同事的分享:

Scala List 獨特的 連接運算“::”(cons)和“:::”

Scala List 有一種獨特的,不同於JAVA的運算符 “::” ,發音爲 “cons” ,它的意義如下:

 x :: xs  表示 結果是 一個 List,它的第一個元素是 x, 它後面跟着一個List xs(跟着這個表xs的所有元素),用 Nil 表示空表。
 
 這個運算符要求前一個是 元素, 後一個是 List。
 
 兩個都是 元素 或 都是 List,是不對的。

如果兩個都是List,要用 三個冒號的“:::”。
 
舉例來說: 下面是幾個Scala List的聲明,它們用 ::操作符表示請參看後面的表達式。



用 ::表示如下所示:



注意這個運算符是兩個英文冒號連在一起,不要寫成中文冒號。




.map:獲取list的每個函數一些屬性,下面的.length可以替換爲.substring,一次類推。


如果我們需要獲取一個List裏面所有元素的長度:

如果是java的思想的話,肯定會這樣寫:

而scala寫的方法可以這樣:

而foldLeft方法可以用: /:

最後:

java可能需要好幾航代碼來完成,scala一行就可以搞定。


scala 對 數組元素進行排序:


發佈了33 篇原創文章 · 獲贊 1 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章