一,定長數(shù)組 Array定長數(shù)組,訪問數(shù)組元素需要通過() val nums = new Array[Int](10) //長度為10的int數(shù)組 初始化為0 val strs = new Array[String](10) //長度為10的String數(shù)組 初始化為null val s = Array("hello","world") //初始化數(shù)組長度為2,不需要new s(0) = "GoodBye" //訪問數(shù)組元素通過()二,變長數(shù)組 import scala.collection.mutable.ArrayBuffer val b = ArrayBuffer[Int]() b += 1 //在尾端添加元素 ArrayBuffer(1) b+=(2,3,4,5) //在尾端添加多個(gè)元素 ArrayBuffer(1,2,3,4,5) b++=ArrayBuffer(8,19,20) //可以使用++-操作符追加任意集合 ArrayBuffer(1,2,3,4,5,8,19,20) b.trimEnd(3) //在尾部刪除3個(gè)元素 ArrayBuffer(1,2,3,4,5) b.insert(2,6) //在下標(biāo)2之前插入6 ArrayBuffer(1,2,6,3,4,5) b.insert(3,7,8,9) //在下標(biāo)3之前插入7,8,9 ArrayBuffer(1,2,6,7,8,9,3,4,5) b.remove(2) //刪除下標(biāo)為2的元素 ArrayBuffer(1,2,7,8,9,3,4,5) b.remove(2,3) //從下標(biāo)為2的元素開始,刪除3個(gè)元素 ArrayBuffer(1,2,3,4,5) val c = b.toArray //不知道元素個(gè)數(shù)先構(gòu)建ArrayBuffer,然后再轉(zhuǎn)化成數(shù)組 c.toBuffer //數(shù)組轉(zhuǎn)化成數(shù)組緩沖三,遍歷數(shù)組和數(shù)組緩沖區(qū) for(i<- 0 until b.length) //直接通過下標(biāo)訪問數(shù)組,until 不包括上線 for(i<- 0 until (b.length,2)) //step = 2 步長為2 for(i<- (0 until b.length).reverse) //反轉(zhuǎn) for(i<- b) //不使用數(shù)組下標(biāo)直接訪問元素四、數(shù)組轉(zhuǎn)換通過for yield對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換val a = Array(2,3,5,7,11)val b = for(i<- a if i%2 !=0) yield i * 2 //生成一個(gè)新的數(shù)組for(i<- b) PRint(i+" ")五、常用算法import scala.util.Sorting.quickSortval a = Array(2,9,5,7,11)println(a.sum)println(a.max)println(a.toBuffer)println(a.mkString(" and "))println(a.mkString("<"," and ",">"))println(a.toBuffer.sorted) //數(shù)組本身不變,產(chǎn)生新的數(shù)組,升序排列println(a.toBuffer.sortWith(_>_)) //數(shù)組本身不變,產(chǎn)生新的數(shù)組,降序排列println(a.toString)println(a.toBuffer.toString())quickSort(a) //對(duì)數(shù)組本身排序
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注