每天学一点Scala之 take、takeRight、takeWhile 与 filter
比较简单,直接上例子
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
object takeWhileTest {
def main(args : Array[String]) : Unit = {
val names = List( "spark" , "hadoop" , "kafka" , "hive" , "mesos" , "zero" , "xyz" , "marathon" )
//需求:将names容器中,获取/过滤出元素长度为4的元素,
//takeWhile, 从第一个元素开始判断,满足条件,就留下,直到遇到第一个不满足的条件的元素,就结束循环
//可见,takeWhile 有可能并不是对所有的元素进行操作的
names.takeWhile( _ .length > 4 ).foreach{x = > print(x + " " )}
println( "\n------------------" )
//从左边开始获取2个元素,
names.take( 2 ).foreach{x = > print(x + " " )}
println( "\n------------------" )
//从右边开始获取4个元素,
names.takeRight( 4 ).foreach{x = > print(x + " " )}
println( "\n------------------" )
//filter, 同样,满足条件,就留下。是对所有的元素,进行操作的
names.filter( _ .length > 4 ).foreach{x = > print(x + " " )} //将"xyz"元素,过滤掉了
}
}
|
结果:
1
2
3
4
5
6
7
|
spark hadoop kafka
------------------
spark hadoop
------------------
mesos zero xyz marathon
------------------
spark hadoop kafka mesos marathon
|
同样,marathon源码中,也有体现,如下:
总结:
take(3)---> 表示,取出前3个元素
takeRight(3)----> 表示,从后面/右边开始获取,取出3个元素
takeWhile()---> 表示,从左边开始,将满足条件的元素取出来,直到遇到第一个不满足条件的元素
filter --> 表示,取出所有满足条件的元素
本文转自故新51CTO博客,原文链接:http://blog.51cto.com/xingej/1963582 ,如需转载请自行联系原作者
每天学一点Scala之 take、takeRight、takeWhile 与 filter相关推荐
- scala 系列 ---- take,takeRight,takeWhile的使用详解用法及代码示例
take : takeRight(n: Int): List[A] 提取列表的前n个元素 takeRight: takeRight(n: Int): List[A] 提取列表的最后n个元素 takeW ...
- 每天学一点Scala之 伴生类和伴生对象
1. object 相当于class的单个实例,因此,在object里声明的变量都是静态变量,静态方法 2. 在object里声明的变量,都是全局变量,也就是类的公共属性,或者类似于java中父类 ...
- 每天学一点Scala之implict 隐式参数
什么是隐式参数? 在函数或者方法中,定义一个用implicit关键字修饰的参数:此参数就是隐式参数了.Scala会自动尝试在作用域内查询用implicit修饰的对象,并自动注入参数 Scala查找隐式 ...
- 每天学一点Scala之 高阶函数 flatten
flatten 就是将多个集合展开,组合成新的一个集合. 下面是marathon源码用到flatten的场景 转载于:https://blog.51cto.com/xingej/1959396
- 每天学一点Scala之Try
参考文章:http://www.jianshu.com/p/0de79845eaa4 Try[A] 同样是一种容器.Option[A] 也是一种容器 Try[A] 表示一种计算, 如果计算成功,返回是 ...
- 大学生学python到底有没有有-为什么我会想建议每个大学生都学一点编程?
原标题:为什么我会想建议每个大学生都学一点编程? 一个今年上岸.成功录取到中山大学的同学,昨天疯狂轰炸我: 他没想到导师主动联系他,让他参加非常重要的课题研究. "当初抱着试一试的心态学的编 ...
- 人人都要学一点深度学习(1)- 为什么我们需要它
人人都要学一点深度学习(1)- 为什么我们需要它 版权声明 本文由@leftnoteasy发布于 http://leftnoteasy.cnblogs.com, 如需全文转载或有其他问题请联系whee ...
- 学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践
学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践 原文 学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践 感谢大家在上一篇 学一 ...
- 串行异步通信_每天学一点/ 电工:PLC:串行通信
每天学一点/ 电工案例:西门子PLC STEP7-SMARTPLC:串行通信 1. 并行通信与串行通信 并行通信以字节或字为单位传输数据,已很少使用.串行通信每次只传送二进制数的一位,最少需要两根线就 ...
- 学一点django基础
学一点Django基础 目录 文章目录 目录 一.Django框架的介绍 Django的安装 Django框架开发 创建项目的指令 Django项目的目录结构 URL 介绍 视图函数(view) Dj ...
最新文章
- 7天备战蓝桥杯之第一天
- SpringMVC的运行原理
- 为什么说 Rust 是编程的未来?
- 物联网大数据平台有哪些功能特点
- windows10应用商店加速方法
- sympy的dsolve函数
- 微信支付接入-弹出支付框输入密码后一直在转圈,20s后提示:支付失败,请稍后再试
- Macbook Pro开机黑屏如何自查问题
- JS中的 || 与 运算符详解
- 如何把docx转成doc
- 落地零售智能体,百联集团全力打造面向未来的数字化商业体
- Windows系统中设置软件的开机自动启动
- 侵入式及非侵入式概念
- 错误代码: 1054 Unknown column 'course' in 'field list'
- 大白话之辩论DDD,阿里面试中台化理解
- Python4班平均成绩统计_期中考试了,十二个班的成绩,如何使用excel计算平均值、排名...
- [code] PTA 胡凡算法笔记 DAY028
- 十一项关于农业领域的人工智能研究进展
- python中的第三方库 cdk_用Jython调用CDK(Chemistry Development Kit)显示分子并高亮子结构...
- c语言指针题讲解,C语言指针经典练习题-及答案讲解.doc