您好,登錄后才能下訂單哦!
在scala中數(shù)組有兩種:定長數(shù)組和變長數(shù)組。
定長數(shù)組:由于Array是不可變的,初始化就有了固定的長度,所以不能直接對其元素進行刪除操作,也不能多增加元素,只能修改某個位置的元素值,要實現(xiàn)刪除可以通過過濾生成新的數(shù)組。所以也就沒有:add,insert,remove 等操作。
變長數(shù)組:ArrayBuffer 是可變的,本身提供了很多元素的操作,當然包括增加,刪除操作。
定長數(shù)組和變長數(shù)組的轉(zhuǎn)化:分別調(diào)用 toBuffer()和 toArray()方法即可。
object Test01 {
def main(args: Array[String]): Unit = {
//1.使用new的方式聲明一個定長數(shù)組
val arr1=new Array[Int](5)
//2.使用伴生對象的方式生成一個定長數(shù)組對象
val arr2=Array(1,2,3)
//3.聲明一個變長數(shù)組
val arr3=ArrayBuffer[Int]()
//4.定長數(shù)組和變長數(shù)組之間的轉(zhuǎn)化
val arr4=arr1.toBuffer //定長---> 變長
val arr5=arr3.toArray //變長--> 定長
}
}
object Test01 {
def main(args: Array[String]): Unit = {
//定長
val arr1=Array(1,2,3)
//變長
val arr2=ArrayBuffer[Int]()
}
//定長數(shù)組的增改
def DMLARR(arr1:Array[Int]): Unit ={
//增
arr1.+:(2) //首部追加 ,生成新的數(shù)組
arr1.:+(2) //尾部追加,生成新的數(shù)組
//改,數(shù)組的下標從0開始,通過arr1(index)獲取下標并修改
arr1(0)=5
}
//變長數(shù)組的增刪改
def DML_Mul_Arr(arr:ArrayBuffer[Int]): Unit ={
//增
arr+=2 //尾部追加
arr+=(1,2,3) //追加多個元素
arr++=Array(1,2,3) //追加一個Array
arr++=ArrayBuffer(1,2,3) //追加一個數(shù)組緩沖
//插入
arr.insert(0,-1,0) //在某個位置插入一個或者多個元素
//刪除
arr.remove(0,2) //從某個位置開始,移除幾個元素
}
}
object Test01 {
def main(args: Array[String]): Unit = {
val arr=Array(1,2,3,4)
//for的簡答遍歷
for(item<-arr){
println(item)
}
//使用下標遍歷
for(i<- 0 to arr.length-1){
print(arr(i)+"\t")
}
//使用until
for(i<- 0 until arr.length){
print(arr(i)+"\t")
}
}
}
object Test01 {
def main(args: Array[String]): Unit = {
val arr=Array(1,2,3,4)
//map方法:把數(shù)組中一個元素變成另一個元素
arr.map(x=>x*5)
//reduce方法,表示把一堆元素聚合成一個元素
arr.reduce((x,y)=>x+y)
//Filterm,過濾元素 結(jié)果為true的元素保留,結(jié)果為false的元素過濾
arr.filter(x=> if(x>2) true else false)
//count,根據(jù)某些條件,統(tǒng)計需要的元素的個數(shù)
var filter_count=arr.count(x=> if(x>2) true else false)
//數(shù)組求和
var sun=arr.sum
//數(shù)組求最大值
var max=arr.max
//數(shù)組的最小值
var min=arr.min
//數(shù)組的排序 降序
val ints = arr.sortWith((x,y)=>if(x>y) true else false)
}
}
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。