Scala学习笔记23【List 的map、flatMap、foreach、filter操作实战】
2015-10-15 20:05
459 查看
package com.yl.Scala object ListMap { def main(args : Array[String]){ //map操作 println(List(1,2,3,4,6) map (_ + 1)) //各元素加1,生成新列表 List(2, 3, 4, 5, 7) val data = List("Scala", "Hadoop", "Spark") println(data map (_.length)) //生成各元素长度列表 List(5, 6, 5) println(data map (_.toList.reverse.mkString)) //将元素逆序输出 List(alacS, poodaH, krapS) //flatMap的操作 println(data.map(_.toList)) //List(List(S, c, a, l, a), List(H, a, d, o, o, p), List(S, p, a, r, k)) println(data.flatMap(_.toList)) //List(S, c, a, l, a, H, a, d, o, o, p, S, p, a, r, k) println(List.range(1, 4)) //List(1, 2, 3) println(List.range(1, 4) flatMap (i => List(1, i) map (j => (i, j))))//List((1,1), (1,1), (2,1), (2,2), (3,1), (3,3)) //List的foreach的灵活使用 var sum = 0 List(1,2,3,4,5) foreach( sum += _) println("sum = " + sum) //sum = 15 //filter的操作 println(List(1,2,3,4,6,7,8,9,10) filter (_ % 2 == 0)) //选出偶数列表 List(2, 4, 6, 8, 10) println(data filter (_.length == 5)) //选出长度为5的元素构成列表 List(Scala, Spark) } }
运行结果:
List(2, 3, 4, 5, 7) List(5, 6, 5) List(alacS, poodaH, krapS) List(List(S, c, a, l, a), List(H, a, d, o, o, p), List(S, p, a, r, k)) List(S, c, a, l, a, H, a, d, o, o, p, S, p, a, r, k) List(1, 2, 3) List((1,1), (1,1), (2,1), (2,2), (3,1), (3,3)) sum = 15 List(2, 4, 6, 8, 10) List(Scala, Spark)
相关文章推荐
- 关于函数指针的理解
- 绝对居中
- C语言重要知识点总结(一)
- 惠普6500A hp710a不吸纸维修一例
- 《剑指Offer》面试题:1+2+3+...+n
- 影像信息提取之——基于专家知识的决策树分类
- 会操作excel就会批量证书打印!
- 监听SD卡状态
- ssh 配置文件讲解大全 ssh调试模式 sftp scp strace进行调试
- linux中信号
- Jump Game II
- IOS 8 基本定位实现
- 【map练习】【map+模拟】codevs1164 统计数字题解
- 对象序列化
- 【SQL】约束与触发器2
- Jump Game
- 科技相对论:库克,苹果的罪人还是救星
- linux camera application demo(一)
- CSS知识点小结
- Longest Palindromic Substring - Leetcode