package com.test.scala.test
import scala.collection.mutable.ArrayBuffer
/**
* 数组学习
*/
object ArrayTest {
def main(args: Array[String]): Unit = {
//定义一个长度不变的数组
var array=Array[Int](1,2,3,4,5);
for(i<-array){
println(i)
}
//定义一个长度可变的数组
var arraybuffer=ArrayBuffer[Int]();
arraybuffer+=1;
arraybuffer+=(2,3,4,5);
for(i<-arraybuffer){
println(i)
}
//arraybuffer 追加其余的集合
arraybuffer++=ArrayBuffer(1,3,5,7,9);
for(i<-arraybuffer)print(i)
println()
//倒序输出
for(i<-(0 until arraybuffer.length).reverse)print(i)
println()
//中间隔两个元素输出
for(i<-0 until (arraybuffer.length,2))print(i)
println()
//数组转换,利用yield关键字形成新的数组,以前的数组不变
var a=Array(1,2,3,4,5,6,7,8,9,10);
val result=for(i<-a if i%2==0) yield i
for(i<-result){
print(i)
}
println()
for(i<-a)print(i)
println()
//常用的数组的一些算法
//求和算法
val sum=Array(2,3,4,5).sum
println(sum)
val sumDouble=Array(4.5d,5.6d,99.67d).sum
println(sumDouble)
//求最大值算法
val max=Array(654321,3,3,3,45).max
println(max)
//求最小值
val min=Array(-2,3,4,0,-20).min
println(min)
//对数组进行排序
var sortArray=Array(1,2,4,2,5);
scala.util.Sorting.quickSort(sortArray);
for(i<-sortArray)println(i)
// 定义一个多维数组,3行4列
var matrix=Array.ofDim[Double](3,4);
}
}