[转帖]scala的cons(::)和(:::)连接符和对List元素的操作_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3982 | 回复: 0   主题: [转帖]scala的cons(::)和(:::)连接符和对List元素的操作        下一篇 
jie.liang
注册用户
等级:少校
经验:1003
发帖:77
精华:0
注册:2013-10-11
状态:离线
发送短消息息给jie.liang 加好友    发送短消息息给jie.liang 发消息
发表于: IP:您无权察看 2013-10-22 9:17:47 | [全部帖] [楼主帖] 楼主

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 对 数组元素进行排序:

北京联动北方科技有限公司

 



赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论