Scala学习第五天 Scala数组操作实战详解

1、数组的基本操作

//声明一个固定长度的数组,类型为Int,元素个数为10. val nums= new ArrayInt//声明一个类型为String的固定长度的数组,元素个数为10 .val a =new ArrayString//直接以Array的方式声明一个数组,初始化第一个元素为’Hello’,第二个元素为”World”,通过类型推导,判断出//数组的类型为String.val s= Array(“Hello” ,”World”)// 设置数组中存储的第一个元素为”Good”s(0) =”Good”for (elem<- s) println(elem) Val b=new ArrayBufferint //ArrayBuffer是缓存数组,内容大小可以改变,可以参考java里的String Buffer b+= 1 //b里增加一个为1的元素 结果是ArrayBuffer(1) b+= (1,2,3,5) //在已有的内容上,追加上1,2,3,5 结果是ArrayBuffer(1,1,2,3,5) b++= Array(8,13,21) //有两个加号,直接追加Array,追加8,13,21 结果是ArrayBuffer(1,1,2,3,5,8,13,21) b.trimEnd(5) //去掉后面的5个元素 结果是ArrayBuffer(1,1,2) b.insert(2,6) //在2的位置上插入6 结果是ArrayBuffer(1,1,6,2) b.insert(2,7,8,9) //在2的位置上插入7,8,9 结果是ArrayBuffer(1,1,7,8,9,6,2) b.remove(2) //除去索引为2的元素 结果是ArrayBuffer(1,1,8,9,6,2) b.remove(2,3) //从索引2的元素开始,除去3个元素 结果是ArrayBuffer(1,1,2) b.toArray //b.toArray结果不再是mutable的ArrayBuffer了,而是变成Array,他的元素个数是固定的

for(I<- 0 until a.length) //对a所有的元素遍历 println(i+”:”+a(i))
2、数组的进阶操作

Valc=Array(2,3,5,7,11) Val result=for (elem <- c) yield 2*elem //遍历c的每一个元素,然后乘以2,yield使后面的表达式变为一个集合,赋值给result 结果是Array(4,6,10,14,22) c.filter(%2==0).map(2*_) //每次判断元素是否是偶数,是偶数则乘以2,用到了占位符,这是生产方式下常用的写法,更具有可读性 结果是Array(4)

Array(1,7,2,9).sum //Array的求总和的函数 结果是19 ArrayBuffer(“Marry”,”had”,”a”,”little”,”lamb”).max //求ArrayBuffer中的哪个字符串长度最长 结果是littleVal d=ArrayBuffer(1,7,2,9) Val bSorted=d.sorted //对ArrayBuffer里的元素排序,默认是升序 Val e=Array(1,7,2,9) Scala.util.Sorting.quickSort(e) //对ArrayBuffer里的元素进行快速排序 e.mkString(“and”) //把e的元素用and连接起来,转换成字符串 结果是”1 and 2 and 7 and 9 e.mkString(“<”,”,”,”>”) //将e的元素以左边<,右边>,中间用,号分隔 结果是<1,2,7,9>
3、多维数组

Valmatrix=Array.ofDimDouble //用Array的ofDim方法声明一个3行4列的矩阵,初始为Array(Array(0.0,0.0,0.0,0.0),Array(0.0,0.0,0.0,0.0),Array(0.0,0.0,0.0,0.0))Matrix(2)(1)=42 //在矩阵3行2列赋值为42,结果是Array(Array(0.0,0.0,0.0,0.0),Array(0.0,0.0,0.0,0.0),Array(0.42.0,0.0,0.0,0.0))Valtriangle=new ArrayArray[int] //new Array一个数组,数组内部又是Array,有10个元素,为Array(null,null,null,null,null,null,null,null,null,null)for(i <- 0 until triangle.length)Triangle(i)=newArrayint //对Array里面的Array赋值不同的长度,第一行一个元素,每行加一个元素,为Array(Array(0),Array(0,0),Array(0,0,0),Array(0,0,0,0),Array(0,0,0,0,0),Array(0,0,0,0,0,0),Array(0,0,0,0,0,0,0),Array(0,0,0,0,0,0,0,0),Array(0,0,0,0,0,0,0,0,0),Array(0,0,0,0,0,0,0,0,0,0)4.worksheet
打开 ScalaIDE 选择 File -> New -> Scala WorkSheet, 建立一个名字为 ScalainAction 的 Scala WorkSheet。

每次保存就可以显示每个运算的结果,如下图所示:

Scala 深入浅出实战经典(1-64讲)完整视频、PPT、代码下载:

百度云盘:http://pan.baidu.com/s/1c0noOt6

腾讯微云:http://url.cn/TnGbdC

360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值