📜  Scala集合-概述(1)

📅  最后修改于: 2023-12-03 14:47:17.851000             🧑  作者: Mango

Scala集合-概述

Scala是一种支持面向对象和函数式编程的语言,提供了一组灵活且高效的集合框架。Scala集合框架包括可变和不可变集合。

不可变集合

不可变集合是指一旦集合被创建,集合中的元素就不能够被修改或添加。不可变集合使用val修饰,如下所示:

val list = List(1, 2, 3, 4, 5)
val set = Set(1, 2, 3, 4, 5)

不可变列表List和不可变集Set是Scala中最常用的集合类型。List是一个有序的集合,Set是一个无序且不重复的集合。

可变集合

可变集合与不可变集合相反,可变集合中的元素可以被修改或添加。可变集合使用var修饰。

var list = scala.collection.mutable.ListBuffer[Int]()
list += 1
list += 2
list += 3
集合操作

在Scala中,集合可以执行以下操作:

过滤

以给定的条件过滤集合中的元素,可以使用filter方法。

val list = List(1, 2, 3, 4, 5)
val filteredList = list.filter(_ % 2 == 0)
// filteredList: List[Int] = List(2, 4)
映射

对集合中的每个元素执行给定的操作,可以使用map方法。

val list = List(1, 2, 3, 4, 5)
val mappedList = list.map(_ * 2)
// mappedList: List[Int] = List(2, 4, 6, 8, 10)
折叠

将集合中的元素加总,可以使用fold方法。

val list = List(1, 2, 3, 4, 5)
val sum = list.foldLeft(0)(_ + _)
// sum: Int = 15
排序

将集合中的元素按照给定的顺序排序,可以使用sort方法。

val list = List(5, 2, 7, 1, 3)
val sortedList = list.sorted
// sortedList: List[Int] = List(1, 2, 3, 5, 7)
扁平化

将嵌套的集合平铺展开,可以使用flatten方法。

val nestedList = List(List(1, 2), List(3, 4), List(5, 6))
val flatList = nestedList.flatten
// flatList: List[Int] = List(1, 2, 3, 4, 5, 6)
总结

Scala的集合框架提供了广泛的集合类型和操作,既支持不可变集合也支持可变集合。使用Scala的集合框架,我们可以轻松地执行各种集合操作,提高代码的可读性和实现效率。