Scala陣列的定義和使用

2021-10-21 19:53:04 字數 4261 閱讀 9790

①、val arr=new array[int](5)定義乙個長度為五的定長陣列

②、val arr= array[int](1,4,5,6,7)給定泛型和內容的定長陣列

③、val arr3=array(1,3,true,"hello",3.5,2l)不給泛型給內容的定長陣列

前提:先導包

import scala.collection.mutable._
①、val arr=new arraybuffer[int]()new 乙個arraybuffer,給定泛型的不定長陣列

②、val arr1=arraybuffer[string]()給定泛型的不定長陣列

③、val arr2=arraybuffer()不給定泛型的定長陣列

(1) 定長轉不定長,使用.tobuffer

val arr=new array[int](5)

val buffer = arr.tobuffer

(2) 不定長轉定長,使用.toarray

val arr=new arraybuffer[int]()

val arr1 = arr.toarray

val arr=array(("a",10),("b",17),("b",13));

arr.tomap

1、定長陣列,下角標為零的賦值為3

val arr=new array[int](5)

arr(0)=3

println(arr.tobuffer)

import scala.collection.mutable._

val arr =arraybuffer(1,2,3,4)

println(arr)

(2)+= , .+=() 新增1個元素

import scala.collection.mutable._

val arr =arraybuffer(1,2,3,4)

//arr+=5

arr.+=(5)

println(arr)

(3)+= , .+=() 新增多個元素

import scala.collection.mutable._

val arr =arraybuffer(1,2,3,4)

//arr+=(5,6,7)

arr.+=(5,6,7)

println(arr)

(4)++=新增乙個陣列

import scala.collection.mutable._

val arr =arraybuffer(1,2,3,4)

arr++=array(5,6,7)

println(arr)

(5)減少乙個元素

import scala.collection.mutable._

val arr =arraybuffer(1,2,3,4)

arr-=2

println(arr)

(5)減少多個元素

import scala.collection.mutable._

val arr =arraybuffer(1,2,3,4)

//arr-=(2,3,4)

arr--=array(2,3,4)

println(arr)

1、增強for迴圈

val arr=array(1,2,3,4,5)

for(i <- arr)

2、使用下角標

val arr=array(1,2,3,4,5)

for(i<- 0 until(arr.length))

3、使用foreach()

val arr=array(1,2,3,4,5)

arr.foreach(println)

1、求和sum

import scala.collection.mutable._

val arr =arraybuffer(1,2,3,4)

println(arr.sum)

2、最大值 max

import scala.collection.mutable._

val arr =arraybuffer(1,2,3,4)

println(arr.max)

2、最小值 min

import scala.collection.mutable._

val arr =arraybuffer(1,2,3,4)

println(arr.min)

3、排序

import scala.collection.mutable._

val arr =arraybuffer(1,6,5,4,2)

println(arr.sorted)

4、取前三個

import scala.collection.mutable._

val arr =arraybuffer(1,6,5,4,2)

println(arr.take(3))

5、取後三個

import scala.collection.mutable._

val arr =arraybuffer(1,6,5,4,2)

println(arr.takeright(3))

6、刪除前三個

import scala.collection.mutable._

val arr =arraybuffer(1,6,5,4,2)

println(arr.drop(3))

7、刪除後三個

import scala.collection.mutable._

val arr =arraybuffer(1,6,5,4,2)

println(arr.dropright(3))

8、取頭部(第乙個元素)

import scala.collection.mutable._

val arr =arraybuffer(1,6,5,4,2)

println(arr.head)

9、取尾部(除了第乙個元素的其他元素)

import scala.collection.mutable._

val arr =arraybuffer(1,6,5,4,2)

println(arr.tail)

10、取最後乙個元素

import scala.collection.mutable._

val arr =arraybuffer(1,6,5,4,2)

println(arr.last)

1、.zip以短的陣列為主

val a1=array("a","b","c")

val a2=array(10,16,19,20)

a1.zip(a2)

println(a1.zip(a2).tobuffer)

2、a1.zipall(a2,"aa",99)假如a1短用aa代替,假如a2短99代替

val a1=array("a","b","c")

val a2=array(10,16,19,20)

a1.zipall(a2,"aa",99)

println(a1.zipall(a2,"aa",99).tobuffer)

3、.zipwithindex與自己索引結合

val a1=array("a","b","c")

a1.zipwithindex

println(a1.zipwithindex.tobuffer)

陣列的定義和使用

說到陣列,首先我們需要知道我們為什麼要定義陣列?方法返回值的時候只能返回乙個值,但是如果我們要返回多個值怎麼辦呢?這時候就需要用到陣列,可以把多個資料放在乙個陣列中,然後返回陣列,從而達到返回多個值的作用。那麼什麼是陣列呢?陣列是 相同資料型別的資料按 順序組成的一種 引用資料型別。陣列的定義分為兩...

陣列的定義和使用

一.陣列的定義 陣列從0開始,表示第乙個元素 1 root foundation77 mnt array 1 2 4 root foundation77 mnt echo 1 2 4 root foundation77 mnt 2 root foundation77 mnt array 1 one ...

Scala學習(3) 定義函式和函式的使用

判斷x是否大於y param x param y return x y返回true,否則返回false def max x int,y int boolean 找出兩個值中的最大值,如果中只有一行 可以省略 param x param y return x y返回x,否則返回y def max1 x...