一、数组的定义:
1、不可变数组的定义
①、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)
不给泛型给内容的定长数组
2、可变数组的定义
前提:先导包
import scala.collection.mutable._
①、val arr=new ArrayBuffer[Int]()
new 一个ArrayBuffer,给定泛型的不定长数组
②、val arr1=ArrayBuffer[String]()
给定泛型的不定长数组
③、val arr2=ArrayBuffer()
不给定泛型的定长数组
3、定长和不定长之间的转换
(1) 定长转不定长,使用.toBuffer
val arr=new Array[Int](5)
val buffer = arr.toBuffer
(2) 不定长转定长,使用.toArray
val arr=new ArrayBuffer[Int]()
val arr1 = arr.toArray
4、将对偶的数组转换成映射(array -> map).map
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)
2、变长数组
(1)append追加元素
import scala.collection.mutable._
val arr =ArrayBuffer(1,2,3,4)
arr.append(5)
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){
println(i)
}
2、使用下角标
val arr=Array(1,2,3,4,5)
for(i<- 0 until(arr.length)){
println(arr(i))
}
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)