(一)Array的定义
Array是一种在Scala中用于存储固定大小,相同类型元素的数据结构,Array是可变。可索引的数据集合。
类型有两种:Array表示长度不可变的数组,和ArrayBuffer表示长度可变的数组
package test2
import scala.collection.mutable.ArrayBuffer
object testarray {
//不可变数组Array
// def main(args: Array[String]): Unit = {
// //1.创建不可变数组
// val arr1 = Array(1,2,3)
//
//
// //2.访问,数组名(下标)。下标是从0开始到 长度-1
// println(s"第一个元素是 ${arr1(0)}")
//如果下标超出范围,会 报错 ArrayIndexOutofBoundsException
// println(arr1(100))
//3.快速填充数组内容
//1-10的数组,每隔两个,range不能包括终点 2 是步长
// val arr2 = Array(1,11,2)
//
// //4.遍历
// for (i <- arr2){
// println(i)
// }
// }
//可变数组
def main(args: Array[String]): Unit = {
val arr1 = ArrayBuffer(1,2,3,2000)
//1.添加
arr1 += 4
//2.删除
arr1 -= 1
//3.修改.数组名(下标) = 新值
arr1(0) = 1000
//4.查询:判断是否有某个元素
println(s"30是否在数组中:${arr1.contains(30)}")
//map方法
val arr2 = arr1.map(s=> s*2)
//filter 过滤.从当前数组中找出重要的元素,组成一个新的数组
//找到大于100的元素
val arr3 = arr2.filter(s => s>100)
//数组的元素的个数
println(s"数组的元素个数是:${arr3.length}")
//indexOf(元素): //找到元素下标
//没有,就返回 -1
//有 ,就返回第一次出现的下标
println(arr3.indexOf(400))
//数组的切片,从一个数组中取出相邻的元素·1组成一个新的数组
//ArrrayBuffer(1,2,3,4,5)取出3,4组成一个新的数组
//slice(起点下标,终点下标) 不包括终点下标!!!
// val arr4 = ArrayBuffer(1,2,3,4,5).slice(2,4)
val arr4 = ArrayBuffer(1,2,3,4,5).slice(1,5)//2 3 4
val it1 = arr4.iterator
while (it1.hasNext){
println(it1.next())
}
}
}