package scala
object ArrayTest {
def main(args: Array[String]): Unit = {
//1.定长数组Array
//一种定长数组定义方式
//复杂对象类型在数组定义时被初始化为null,数值型被初始化为0
val numArr = new Array[Int](5)
val strArr = new Array[String](5)
//数组赋值
strArr(0) = "First"
// 另一种定长数组定义方式
val strArr2 = Array("First","Second")
//2.变长数组ArrayBuffer
import scala.collection.mutable.ArrayBuffer
val strArrVar = ArrayBuffer[String]()
strArrVar += "Hello" //在尾部添加元素
strArrVar += ("World","Yes!") //在尾部添加多个元素
//++=用于向数组中追加内容,可以追加任何集合
//追加Array数组
strArrVar ++= Array("Wllcome","To","XueTuWuYou")
//追加Array数组
strArrVar ++= List("Welcome","To","School")
//删除末尾n个元素
strArrVar.trimEnd(3)
//创建整型数组缓冲
var intArrVar = ArrayBuffer(1,1,2,3)
//在数组index=0位置插入元素6
intArrVar.insert(0, 6)
//在数组index=0位置插入元素7,8,9
intArrVar.insert(0,7,8,9)
//从index=0开始,删除4个元素
intArrVar.remove(0,4)
//转成定长数组
var intArr = intArrVar.toArray
//3.数组的遍历
//to
for(i <- 0 to intArrVar.length - 1) println(intArrVar(i))
//until
for(i <- 0 until intArrVar.length) println(intArrVar(i))
//数组方式
for(i <- intArrVar) println(i)
//步长为2
for(i <- 0 until (intArrVar.length,2)) println(intArrVar(i))
//倒序
for(i <- (0 until intArrVar.length)) println(intArrVar(i))
//4.数组转换
//缓冲数据转化后产生的仍然是缓冲数组
var intArrVar2 = for(i <- intArrVar) yield i * 2
//定长数组转换后产生的仍然是定长数组,原数组不变
var intArrNoBuff = Array(1,2,3)
var intArrNoBuff2 = for(i <- intArrNoBuff) yield i * 2
//加过滤条件
var intArrNoBuff3 = for(i <- intArrNoBuff if i >= 2) yield i * 2
//5.数组操作中的常用算法
val intArray = Array(1,2,3,4,5,6,7)
println("sum:"+intArray.sum+" ,max:"+intArray.max)
println("mkString:"+intArray.mkString("-"))
println("mkString:"+intArray.mkString("<","-",">"))
//6.多维数组
var mulArr = Array(Array(1,2,3),Array(4,5))
println(mulArr(0)(1))
}
}
2.Scala数组
最新推荐文章于 2022-09-20 00:42:28 发布