📅  最后修改于: 2023-12-03 15:19:58.517000             🧑  作者: Mango
Scala 是一个支持多种编程范式的编程语言,其中集合是一个非常重要的概念。本文将介绍 Scala 集合的基础知识、常用集合类型以及集合操作方法。
在 Scala 中,所有集合都是以某个特定类型的集合类的实例形式存在的。Scala 中的集合分为可变和不可变两种类型。可变集合支持对集合内容进行修改,而不可变集合则不允许修改。
Scala 集合可以被存储在变量中,也可以被存储在不可变的 val
常量中。
Scala 集合有一个共同的超类 Iterable
,因此 Scala 中的所有集合都是 Iterable
的子类。
List
是一种不可变的集合类型,可以存储相同的或不同类型的数据。
val fruit = List("apples", "oranges", "pears")
val nums = List(1, 2, 3, 4)
val empty = List()
val diag3 = List(
List(1, 0, 0),
List(0, 1, 0),
List(0, 0, 1)
)
Set
是一种不重复的集合类型,可以存储相同的或不同类型的数据。
val fruit = Set("apples", "oranges", "pears")
val nums = Set(1, 2, 3, 4)
val empty = Set()
Map
是一种键值对的集合类型,是一个不可变的集合。
val numberMap = Map("one" -> 1, "two" -> 2, "three" -> 3)
val empty = Map()
Tuple
是一个不同类型的元素的集合类型,是一个不可变的集合。
val tuple = (1, "hello", 2.0, 'a')
Array
是一种可变的集合类型,可以存储相同类型的数据。
val nums = Array(1, 2, 3, 4)
val empty = new Array[Int](0)
val numbers = List(1, 2, 3, 4, 5)
numbers.head // 返回列表的第一个元素
numbers.tail // 返回除了第一个元素之外的剩余元素
numbers.isEmpty // 判断列表是否为空
val numbers = List(1, 2, 3, 4, 5)
numbers.map(_ * 2) // 映射操作,将列表中的每个元素乘以 2
numbers.filter(_ % 2 == 0) // 过滤操作,返回列表中所有偶数元素
val numbers = List(1, 2, 3, 4, 5)
numbers.foldLeft(0)(_ + _) // 返回列表中所有元素的和
numbers.foldLeft(1)(_ * _) // 返回列表中所有元素的积
以上是 Scala 集合的基础知识、常用集合类型以及集合操作方法的介绍。掌握这些知识可以让程序员更加熟练地使用 Scala 集合。