Scala 列表操作全解析
1. 列表基础
1.1 列表字面量
列表是 Scala 程序中最常用的数据结构之一。包含元素 ‘a’、’b’ 和 ‘c’ 的列表可以写成 List('a', 'b', 'c')
。以下是更多示例:
val fruit = List("apples", "oranges", "pears")
val nums = List(1, 2, 3, 4)
val diag3 =
List(
List(1, 0, 0),
List(0, 1, 0),
List(0, 0, 1)
)
val empty = List()
列表与数组有相似之处,但也有两个重要区别:
- 列表是不可变的,即不能通过赋值改变列表元素。
- 列表具有递归结构(即链表),而数组是扁平的。
1.2 列表类型
列表是同质的,即列表中的元素都具有相同的类型。元素类型为 T 的列表类型写作 List[T]
。以下是添加了显式类型的相同四个列表:
val fruit: List[String] = List("apples", "oranges", "pears")
val nums: List[Int] = List(1, 2, 3, 4)
val diag3: List[List[Int]] =
List(
List(1, 0, 0),
List