List的map、flatMap、foreach、filter操作代码实战之Scala学习笔记-27
2015-08-20 08:37
477 查看
package com.leegh.dataset
/**
* @author Guohui Li
*/
object List_HighOrder_Function_Ops {
def main(args: Array[String]): Unit = {
println(List(1, 2, 3, 4, 6) map (_ + 1))
val data = List("Scala", "Hadoop", "Spark")
println(data map (_.length()))
println(data map (_.toList.reverse.mkString))
println(data.map(_.toList))
println(data.flatMap(_.toList))
println(List.range(1, 10) flatMap (i => List.range(1, i) map (j => (i, j))))
var sum = 0;
List(1, 2, 3, 4, 5) foreach (sum += _)
println("sum:" + sum)
println(List(1, 2, 3, 4, 6, 7, 8, 9, 10) filter (_ % 2 == 0))
println(data filter (_.length() == 5))
println(List(1, 2, 3, 4, 5) partition (_ % 2 == 0))
println(List(1, 2, 3, 4, 5) find (_ % 2 == 0))
println(List(1, 2, 3, 4, 5) find (_ < 0))
println(List(1, 2, 3, 4, 5) takeWhile (_ < 4))
println(List(1, 2, 3, 4, 5) dropWhile (_ < 4))
println(List(1, 2, 3, 4, 5) span (_ < 4))
def hastotallyZeroRow(m: List[List[Int]]) = m exists (row => row forall (_ == 0))
val m = List(List(1, 0, 0), List(0, 1, 0), List(0, 0, 0))
println(hastotallyZeroRow(m))
}
}
附:
本博客说明:
1.整理思路,提高自己。
2.受教于王家林老师,有所收获,故推荐。
3.博客注重实践,多余的文字就不多说了,都是做技术的。
4.信息来源于 DT大数据梦工厂微信公众账号:DT_Spark。
DT大数据梦工厂的微信公众号是DT_Spark,每天都会有大数据实战视频发布,请您持续学习。
王家林DT大数据梦工厂scala的所有视频、PPT和代码在百度云盘的链接:http://pan.baidu.com/share/home?uk=4013289088#category/type=0&qq-pf-to=pcqq.group
王家林《Scala深入浅出实战初级入门经典视频课程》http://edu.51cto.com/lesson/id-66538.html
王家林《Scala深入浅出实战中级进阶经典视频课程》http://edu.51cto.com/lesson/id-67139.html
/**
* @author Guohui Li
*/
object List_HighOrder_Function_Ops {
def main(args: Array[String]): Unit = {
println(List(1, 2, 3, 4, 6) map (_ + 1))
val data = List("Scala", "Hadoop", "Spark")
println(data map (_.length()))
println(data map (_.toList.reverse.mkString))
println(data.map(_.toList))
println(data.flatMap(_.toList))
println(List.range(1, 10) flatMap (i => List.range(1, i) map (j => (i, j))))
var sum = 0;
List(1, 2, 3, 4, 5) foreach (sum += _)
println("sum:" + sum)
println(List(1, 2, 3, 4, 6, 7, 8, 9, 10) filter (_ % 2 == 0))
println(data filter (_.length() == 5))
println(List(1, 2, 3, 4, 5) partition (_ % 2 == 0))
println(List(1, 2, 3, 4, 5) find (_ % 2 == 0))
println(List(1, 2, 3, 4, 5) find (_ < 0))
println(List(1, 2, 3, 4, 5) takeWhile (_ < 4))
println(List(1, 2, 3, 4, 5) dropWhile (_ < 4))
println(List(1, 2, 3, 4, 5) span (_ < 4))
def hastotallyZeroRow(m: List[List[Int]]) = m exists (row => row forall (_ == 0))
val m = List(List(1, 0, 0), List(0, 1, 0), List(0, 0, 0))
println(hastotallyZeroRow(m))
}
}
附:
本博客说明:
1.整理思路,提高自己。
2.受教于王家林老师,有所收获,故推荐。
3.博客注重实践,多余的文字就不多说了,都是做技术的。
4.信息来源于 DT大数据梦工厂微信公众账号:DT_Spark。
DT大数据梦工厂的微信公众号是DT_Spark,每天都会有大数据实战视频发布,请您持续学习。
王家林DT大数据梦工厂scala的所有视频、PPT和代码在百度云盘的链接:http://pan.baidu.com/share/home?uk=4013289088#category/type=0&qq-pf-to=pcqq.group
王家林《Scala深入浅出实战初级入门经典视频课程》http://edu.51cto.com/lesson/id-66538.html
王家林《Scala深入浅出实战中级进阶经典视频课程》http://edu.51cto.com/lesson/id-67139.html
相关文章推荐
- 【LeetCode-面试算法经典-Java实现】【151-Evaluate Reverse Polish Notation(计算逆波兰式)】
- 多线程并发库高级应用 之 java5中的线程并发库--线程池、Callable&Future
- [C语言][LeetCode][88]Merge Sorted Array
- 位运算-----IOS开发学习记录第9天之C语言学习
- 逻辑运算符-----IOS开发学习记录第8天之C语言学习
- 三目运算符-----IOS开发学习记录第10天之C语言学习
- struts开发步骤
- 《Java设计模式》之策略模式
- Enterprise Solution 开源项目资源汇总 Visual Studio Online 源代码托管 企业管理软件开发框架
- asp.net CheckBox 綁定Boolean 類型
- 《Java设计模式》之状态模式
- 织梦调用父级栏目链接和名称
- Java - Thinking in Java 第7章 习题
- 【LeetCode-面试算法经典-Java实现】【150-Evaluate Reverse Polish Notation(计算逆波兰式)】
- 以符合人类阅读的方式打印php数组
- Windows平台下使用VS2012编译Qt-4.8.7源代码及单独编译qtwebkit-2.3.4
- 如何利用VS2008编译调试C语言程序
- MATLAB-曲线拟合
- Python编程服务
- Simulink各类仿真服务