编写Scala语言集合类型代码Array,List创建可变和不可变类型的代码
时间: 2024-09-28 13:08:40 浏览: 26
在Scala中,Array是一种固定大小的数组类型,它通常是不可变的,一旦创建就不能改变其长度或元素。如果你需要创建一个Array,可以直接指定类型和初始值,例如:
```scala
val immutableIntArray = Array[Int](1, 2, 3) // 创建一个不可变的整数数组
```
然而,Scala的标准库并没有提供直接修改Array的操作,如果你想改变数组的内容,通常会复制整个数组。对于可变数组,你可以使用`scala.collection.mutable.WrappedArray`,如`Vector`(基于Array),但请注意这并不是Array的基本操作。
另一方面,List在Scala里是一个更常用的数据结构,它提供了多种变体,其中`List`和`Vector`是两个主要的类型。`List`是不可变的,而`Vector`则是可变的。创建它们的方式如下:
```scala
// 创建不可变列表
val immutableList = List(1, 2, 3)
// 创建可变Vector(底层是数组)
val mutableVector = Vector(4, 5, 6)
mutableVector += 7 // 可以动态添加元素
// 也可通过构造函数创建
val vectorFromArray: Vector[Int] = Vector(8, 9, 10, copyToArray(immutableIntArray)) // 使用Array内容初始化Vector
```
这里提到的`copyToArray`是一个假设存在的方法,用于将Array复制到Vector。
阅读全文