[原创] 在List中找出前3个小于5的数
xussen
2013-06-08
定义一个List数组
val a = List(2,2,4,3,1,6,7,8,4,0) 如何用scala原生的函数找出前三个小于5的数List(2,2,4),不用再遍历之后的数 集合里有个def filter(p: A => Boolean),但是要全部遍历 是否有类似def filter(p: A => Boolean, max: Int)这样的函数 |
|
leebeen34
2013-06-09
int size=a.size();
int k=0; for (int i=0;i<size;i++){ if(k>3){ break; } if(a.get(i)<5){ k=k+1; } } |
|
厌倦发呆
2013-06-10
你可以用 list.withFilter(_ < 5).take(3)
其中withFilter是non-strict的过滤,也就是只在懒过滤,应该符合你的要求 |
|
xussen
2013-06-10
厌倦发呆 写道 你可以用 list.withFilter(_ < 5).take(3)
其中withFilter是non-strict的过滤,也就是只在懒过滤,应该符合你的要求 withFilter的返回值是FilterMonadic,只支持map,flatMap,foreach,withFilter四个方法。。。 |
|
厌倦发呆
2013-06-11
额,最近没怎么用这个api,抱歉搞错了哈。
应该是 list.view.filter(_ < 5).take(3) |
|
xussen
2013-06-11
厌倦发呆 写道 额,最近没怎么用这个api,抱歉搞错了哈。
应该是 list.view.filter(_ < 5).take(3) 非常感谢,这样写就清爽多了。 话说non-strict这个词第一次听说,withFilter和view都是non-strict(非严格的?),和lazy 的关系是什么?lazy属于non-strict的一种实现方式吗?scala里面还有哪些接口是属于non-strict(除lazy)? 我想起这两天看javascript书的时候,里面有个use strict指令,作用是表示后续代码将会解析为严格代码(strict code),比如禁止使用with、变量必须先声明等等的。是否跟这个概念差不多? |
|
厌倦发呆
2013-06-12
这里可以简单的认为non-strict就是lazy好啦
javascript的use strict意思不同,javascript的是说采用严格语法。 |
相关讨论
相关资源推荐
- 在List中找出一个和当前值最相近的值,差值最小
- Python 找出List中最大/最小的N个数及索引
- 找出列表中小于0的数
- 如何用python找出100000以内的全部回文数_python3中利用filter函数输出小于某个数的所有回文数实例...
- python 历遍数列找出大于一个数的值_Python 由键盘输入一个数,找出大于或等于该数的第一个素数...
- python找出列表中找出三个数,相加和最大等于N--循环遍历
- Java找出小于某个给定数字的所有素数
- java寻找top10_海量数据处理 大量数据中找出最大的前10个数 (Top K 问题)
- 找出数组中前K个最小的数-Python实现
- python 去除列表中小于某个数的值