package gjhs114 import scala.collection.mutable.ArrayBuffer object Arrray114 { //可变数组 def main(args: Array[String]): Unit = { val arr1 = ArrayBuffer(1, 2, 3) // 添加 arr1 += 4 // 删除 arr1 -= 1 // 3 修改.数组名(下标) = 新值 arr1(0) = 1000 // 4 查询:判断是否有某个元素 println(s"30是否在数组中:${arr1.contains(30)}") // map方法 var 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)) //数组的切片。从一个数组中取出相邻的元素组成一个新的数组 // ArrayBuffer(1,2,3,4,5),取出3,4组成一个新的数组 // slice(起点下标,终点下标)//不包括终点下标!!!! val arr4 = ArrayBuffer(1,2,3,4,5).slice(2,4) val it1 = arr2.iterator while (it1.hasNext) { println(it1.next()) } // 二维数组 // 创建方式 val arr5 = Array.ofDim[Int](2,2)//2行2列 arr5(0)(0) = 1 arr5(0)(1) = 2 arr5(1)(0) = 3 arr5(1)(1) = 4 var arr6 = Array(1,2,3,4,5,6) var arr7 = arr6.grouped(3) // println(arr7) while(arr7.hasNext){ var rs = arr7.next() println(s"第1个元素是:${rs(0)}") rs.foreach(println) // println(arr7.next()) println("-"*10) } } }