scala的练习题

 //创建一个List
    val lst0 = List(1,7,9,8,0,3,5,4,6,2)
    //将lst0中每个元素乘以10后生成一个新的集合
    解析 :       lst0.map(_*10)
    //将lst0中的偶数取出来生成一个新的集合
    解析 :      lst0.filter(_%2==0)
    //将lst0排序后生成一个新的集合
     解析 :                   lst0.sorted

    //反转顺序
      解析 :                  lst0.sorted.reverse

    //将lst0中的元素4个一组,类型为Iterator[List[Int]]
     解析 :                     lst0.grouped(4)

    //将Iterator转换成List
     解析 :                     res28.toList

    //将多个list压扁成一个List
     解析 :                    res29.flatten   //ps 在scala命令模式中 可以用tab键自动提示

val lines = List("hello tom hello jerry", "hello jerry", "hello kitty")
    //先按空格切分,在压平
    解析 :          lines.flatMap(_.split(" "))


    //并行计算求和
      
    //化简:reduce
    //将非特定顺序的二元操作应用到所有元素

    //安装特点的顺序

Array[Int] = Array(1, 2, 3, 4, 5)
    //折叠:有初始值(无特定顺序)
解析 : a. par.fold(10)(_+_)     //其中par是并行线程的标志 。
        
    //折叠:有初始值(有特定顺序)

    //聚合
    val arr = List(List(1, 2, 3), List(3, 4, 5), List(2), List(0))


解析: arr.aggregate(0)(_+_.sum,_+_)   //第一个下划线和folder下划线是一样的都是将前面括号的初始值进行相加


    val l1 = List(5,6,4,7)
    val l2 = List(1,2,3,4)
    //求并集
解析: l1.union(l2)

    //求交集
解析:l1.intersect(l2)

    //求差集

l1.diff(l2)
  解析:   println(r3)


val lines = List("hello tom hello jerry", "hello jerry", "hello kitty")
lines.flatMap(_.split(" ")).map((_, 1)).groupBy(_._1).mapValues(_.foldLeft(0)(_+_._2))
lines.flatMap(_.split(" ")).map((_, 1)).groupBy(_._1).map(t=>(t._1, t._2.size)).toList.sortBy(_._2).reverse
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_bukesiyi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值