
函数式
Agent_Tao
只关注算法和架构
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JAVA8 函数式编程小结
java8终于引入了lambda表达式及有限的函数式编程,下面我对这些常用的操作做下小结。 1、map操作 对每个元素执行一个变换操作。很简单,不解释。 2、flatmap操作 先执行map操作(map操作必须返回集合),再将map操作返回的集合进行flaten操作。 3、groupingBy操作 聚合操作,把key相同的集合到一起,返回值为map。 下面通过wordcount 来展示原创 2016-09-05 23:27:05 · 1588 阅读 · 0 评论 -
scala集合操作
scala有强大的集合操作函数,网上有不少例子,但部分例子存在错误。我对常用操作做了些整理,并通过实际运行确保结果的正确性。好了,上代码:object try4 { def main(args: Array[String]) { println("=========================常用操作符===================") val left = L原创 2016-09-06 13:04:25 · 2000 阅读 · 0 评论 -
scala实现wordcount
这里给出两种方式,供初学者参考。 方式一:val lines = List("show me the money", "show me the meaning of being lonely", "triple kill", "mega kill","monster kill","holy shit")val map = lines.flatMap { line => line.split(" "原创 2016-09-06 13:12:31 · 1011 阅读 · 0 评论 -
JAVA并行流的性能“陷阱”
从java8开始,并行编程变得很容易,通过并行流(parallelStream),可以很轻松的实现多线程并行处理。但是,这里面有个性能“陷阱”,如果不注意,使用并行流的效果反而更差,这个陷阱是什么呢?这个陷阱就是,并行流默认都是用同一个默认的ForkJoinPool,这个ForkJoinPool的线程数和CPU的核心数相同。如果是计算密集型的操作,直接使用是没有问题的,因为这个ForkJoinPoo原创 2017-03-06 13:56:47 · 7912 阅读 · 4 评论