scala的知识点(二)

版权声明:数据丁 https://blog.csdn.net/reasery/article/details/83046705
可以修改数组中的值
val arr1 = Array(1,2,3)
arr1(1) = 5
----
//转换为可变数组可以执行各种操作
val arr1_v = arr1.toBuffer
//添加一个数组元素
arr1_v +=1
//如果添加的是另外一个数组
arr1_v ++= arr2
//+=追加一个或者多个元素,++=追加一个seq对象
---
//在4的位置追加剩下的元素
arr1_v.insert(4,44,4444,44444)
//从第几个位置开始,删除几个元素
arr1_v.remove(2,3)
------
//定长数组的初始化
val arr1 = Array(1,2,3)
val arr2 = new Array[Int](3)
//调用的是Array.apply(3)
val arr3 = Array[Int](3)
-------
//最大值最小值等等
arr1.max
arr1.min
arr1.sum
-------
//转化为string并且用"-"进行连接
arr1.mkString("-")
//或者开头,中间,结尾分别用不同的符号
arr1.mkString("<","-",">")
----------
//map操作,就是将数组中的值分别取出作为匿名函数的参数进行处理之后返回结果
//函数类型必须和arr相同,且只有一个,返回值类型没有限制
arr1.map((x:Int)=>x+1)
//这个例子就返回一个double类型的结果集合
arr1.map((x:int)=>{val result = x+1;result.toDouble})
----------------
//相当于arr1.max
arr1.reduce((x:Int,y:Int)=>{if(x>y) x else y})
//相当于arr1.min
arr1.reduce((x:Int,y:Int)=>{if(x<y) x else y})
//初始值相当于数组中的前两个元素,进行计算之后依次和后一个再进行计算,进行fold(折叠)
//聚合到最后最终得到一个值
//接收两个参数返回一个参数,参数类型和arr1相同,返回值类型也和arr类型一样
-------
//求一个数组中元素的个数,可以把元素都转化为1然后sum一下
arr.map(x=>1).sum

猜你喜欢

转载自blog.csdn.net/reasery/article/details/83046705