Scala学习笔记23【List 的map、flatMap、foreach、filter操作实战】

本文介绍了Scala编程中List的重要操作,包括map、flatMap、foreach和filter的使用方法,通过实战例子展示了它们的功能,帮助读者深入理解这些函数在数据处理中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值