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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章