欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Scala不可变数组

程序员文章站 2022-06-14 18:56:05
...

说明

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

创建数组

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