📜  Scala-集合(1)

📅  最后修改于: 2023-12-03 15:19:58.517000             🧑  作者: Mango

Scala-集合

Scala 是一个支持多种编程范式的编程语言,其中集合是一个非常重要的概念。本文将介绍 Scala 集合的基础知识、常用集合类型以及集合操作方法。

Scala 集合的基础知识

在 Scala 中,所有集合都是以某个特定类型的集合类的实例形式存在的。Scala 中的集合分为可变和不可变两种类型。可变集合支持对集合内容进行修改,而不可变集合则不允许修改。

Scala 集合可以被存储在变量中,也可以被存储在不可变的 val 常量中。

Scala 集合有一个共同的超类 Iterable,因此 Scala 中的所有集合都是 Iterable 的子类。

常用集合类型
List

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

Set 是一种不重复的集合类型,可以存储相同的或不同类型的数据。

val fruit = Set("apples", "oranges", "pears")
val nums = Set(1, 2, 3, 4)
val empty = Set()
Map

Map 是一种键值对的集合类型,是一个不可变的集合。

val numberMap = Map("one" -> 1, "two" -> 2, "three" -> 3)
val empty = Map()
Tuple

Tuple 是一个不同类型的元素的集合类型,是一个不可变的集合。

val tuple = (1, "hello", 2.0, 'a')
Array

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 集合。