⼩记--------scala-数组操作之Array、ArrayBuffer以及遍历数组1.Array
在scala中,Array代表的含义与java中类似,也是长度不可改变的数组。此外,由于scala与java都是运⾏在JVM中,双⽅可以相互调⽤,因此Scala数组的底层实际上是Java数组。例如字符串数组在底层就是Java的String[] ,整数数组在底层就是Java的Int[].
在创建数组的时候,数据都是有值的,只是都是默认值 Int 是0 。
1.1 通过索引值进⾏Array赋值
语法:数组名(索引) = 值
1.2通过索引值取值
语法:数组名(索引)
注意: Array的长度是不可变的,在创建的时候就已经固定好长度。
2.ArrayBuffer
在scala中,如果需要长度可变的数组类就可以使⽤ArrayBuffer
但是如果想使⽤ArrayBuffer的话,
需要⾸先导⼊包:llection.mutable.ArrayBuffer
2.1 ArrayBuffer添加元素
语法:ArrayBuffer名 +=  值(添加单个值)
⼀次性添加多个值
语法:ArrayBuffer名 += (值,值,值)
加⼊其它的ArrayBuffer
语法:ArrayBuffer名 ++= 其它ArrayBuffer名
删除多个元素使⽤
语法:数组名 .trimEnd(个数)  从尾部开始数个数
在指定位置插⼊⼀个元素
语法:数组名.insert(5,6)  5表⽰在索引位置为5  插⼊⼀个元素 6  插⼊单个元素
插⼊多个元素
语法:数组名.insert(3,3,2,1)  第⼀个参数为插⼊位置,之后的参数为插⼊的值
在指定位置移除元素
语法:数组名.remove(1,2)  从索引为1的位置移除2个元素(包含索引为1的元素)
3.Array和ArrayBuffer的相互转换
语法:数组名.toArray    数组名.toBuffer
4.遍历Array和ArrayBuffer
4.1 普通遍历java数组字符串转数组
4.2跳跃遍历(2,)
4.3 从尾部开始遍历反转
语法: (0 until 数组名.length).reverse    反转
4.4增强for循环遍历
语法: for ( i <- 数组名)
5.数组常见的操作
5.1数组元素求和
语法:数组名.sum
5.2 获取数组最⼤值
语法:数组名.max
5.3对数组进⾏排序
语法:scala.util.Sorting.quickSort(数组名)
5.4获取数组中所有元素内容
语法:数组名.mkString
5.5数组转换 yield
使⽤yield和函数式编程转换数组(通过yield构建⼀个新的数组)
案例:将数组a 的值的平⽅赋值给a2
注意:通过yield转换的数组,本⾝数组是什么类型那么转换好的数组也是什么类型。对于ArrayBuffer同样适⽤在yield中加⼊if 守卫
使⽤函数式编程转换数组
算法案例:移除第⼀个负数之后的所有负数

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。