Scala基础语法3

数组的定义

//数组的定义,定义一个长度固定的数组,内容可变

交互式窗口中:

1.val  arr  = new Array[Int](3)    //括号里放的是长度

arr(0) = 100 改变了内容

2.val  arr = Array[Int](1,3,4,7)     //括号里放的是具体的内容

 

/**
 * 数组为什么不用new ,其实这里面隐藏地调用了apply方法
 * 即 相当于 val arr = Array.apply(1,3,5,8,9)
 */

map|flatten|flatMap|foreach 方法地使用

map 方法

数组经过map方法之后返回的是一个新的数组

val arr = Array(1,3,5,8,9)

val fx = (x:Int) => x*10
//arr 经过map映射操作以后会返回一个新的数组,具体原因可以看map操作源码
val r1 = arr.map(fx)
//还可以这样写
arr.map((x:Int)=>x * 10)
arr.map(x => x*10)
arr.map(_*10)   //下划线代表地就是Array里面的每一个参数

flatten扁平化操作

flatMap 方法 相当于 先map 再 flatten

上图中还可以这样写: arr.flatMap(_.split(" "))

foreach 操作: 打印出数组中的元素

arr.flatMap.(_.split(" ")).foreach(x => println(x))

 

求每个元素地数量 wordCount

val r3 = arr.flatMap(x=>x.split(" ")).groupBy(x => x)
  //.map(x => x._2.length)
  .mapValues(x =>x.length).toList.sortBy(x => -x._2) //加一个-是降序
//map 结构不可以排序,所以用toList操作
//r3是一个map结构

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值