package Test29
import scala.collection.mutable.ArrayBuffer
object test29 {
// //不可变数组Array
// def main(args: Array[String]): Unit = {
// //1.创建不可变数组
// val arr1=Array(1,2,3)
// //2.访问,数组名(下标 )。下标是从0开始到长度-1
// println(s"第一个元素是${arr1{0}}")
// //如果下标超出了范围,会报错ArrayInDexDutDfBoundsException
// //println(arr1(100))
// //3.快速填充数组内容
// //1-10的数组,每隔2个range不包括终点,2是步长
// val arr2=Array.range(1,11,2)
// //4.遍历
// for (i<-arr2){
// println(i)
// }
// }
//可变数组 import scala.collection.mutable.ArrayBuffer
def main(args: Array[String]): Unit = {
val arr1=ArrayBuffer(1,2,3)
//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))
//数组的切片。从一个数组中取出相邻的元素组成一个新的数组
//ArrayBuffer(1,2,3,4,5),取出3,4组成一个新的数组
//slice(起点下标,终点下标)//不包括终点下标!!!
val arr4=ArrayBuffer(1,2,3,4,5).slice(2,4) //2345
val it1=arr1.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)//3个元素一组
//println(arr7)
while (arr7.hasNext){
var rs=arr7.next()
println(s"第一个元素是:${rs(0)}")
rs.foreach(println)
println(arr7.next())
println("-------------")
}
val it1=arr1.iterator
while (it1.hasNext){
println(it1.next()
)
}
}
Scala的Array
于 2024-11-19 14:39:25 首次发布