Scala不可变数组

说明

  • 不可变和可变指的是,当数组进行增删操作(长度发生变化)时,不可变数组会返回新的数组,原数组不会变化。可变数组会在原数组上进行修改。

创建数组

val arr: Array[Int] = new Array[Int](5)
val arr2: Array[Int] = Array(1, 2, 3, 4, 5)

修改数组指定位置的值

arr(1) = 20
arr.update(1,30)

数组遍历

1.普通for循环

for (i <- 0 to arr2.length - 1) {
    
    
  println(arr2(i))
}


for (elem: Int <- arr2) {
    
    
  println(elem)
}

2.迭代器

val it: Iterator[Int] = arr2.iterator
while (it.hasNext) {
    
    
  println(it.next())
}

3.增强for循环

arr2.foreach((x:Int) => {
    
    println(x)})
arr2.foreach(println(_))
arr2.foreach(println)

4.按照指定分隔符遍历

println(arr2.mkString(","))

添加元素

在尾部添加元素

// val arr3: Array[Int] = arr.:+(20)
val arr3: Array[Int] = arr :+ 20
println(arr3.mkString(","))

在头部添加元素

  • 需要注意的是**,当运算符有冒号,且冒号在右侧时,是从右向左执行**。所以+:是从右向左执行的,所以+要和元素在同一侧。
// val arr4: Array[Int] = arr.+:(10)
// 注意加号要和元素在同一侧。+:是从右侧开始运算
val arr4: Array[Int] = 10 +: arr
println(arr4.mkString(","))

删除元素

// 按数量删除
val arr5: Array[Int] = arr4.drop(3)
println(arr5.mkString(","))     //3,4,5

猜你喜欢

转载自blog.csdn.net/FlatTiger/article/details/114546831