Scala Collection
1、介绍
Scala提供了一套很好的集合实现,提供了一些集合类型的抽象。
Scala 集合分为可变的和不可变的集合。
可变集合可以在适当的地方被更新或扩展。这意味着你可以修改,添加,移除一个集合的元素。
而不可变集合类,相比之下,永远不会改变。不过,你仍然可以模拟添加,移除或更新操作。但是这些操作将在每一种情况下都返回一个新的集合,同时使原来的集合不发生改变。
2、常用集合类型
1 | Scala List(列表) List的特征是其元素以线性方式存储,集合中可以存放重复对象。 |
2 | Scala Set(集合) Set是最简单的一种集合。集合中的对象不按特定的方式排序,并且没有重复对象。 |
3 | Scala Map(映射) Map 是一种把键对象和值对象映射的集合,它的每一个元素都包含一对键对象和值对象。 |
4 | Scala 元组 元组是不同类型的值的集合 |
5 | Scala Option Option[T] 表示有可能包含值的容器,也可能不包含值。 |
6 | Scala Iterator(迭代器) 迭代器不是一个容器,更确切的说是逐一访问容器内元素的方法。 |
Scala 程序使用 Option 非常频繁,在 Java 中使用 null 来表示空值,代码中很多地方都要添加 null 关键字检测,不然很容易出现 NullPointException。因此 Java 程序需要关心那些变量可能是 null,而这些变量出现 null 的可能性很低,但一但出现,很难查出为什么出现 NullPointerException。
Scala 的 Option 类型可以避免这种情况,因此 Scala 应用推荐使用 Option 类型来代表一些可选值。使用 Option 类型,我们一眼就可以看出这种类型的值可能为 None。
完整例子:
object Demo {
def main(args: Array[String]) {
// 定义整型 List
val a = List(11,12,13,14)
// 定义 Set
val a = Set(11,13,15,17)
// 定义 Map
val a = Map("one" -> 11, "two" -> 21, "three" -> 31)
// 创建两个不同类型元素的元组 tuple
val a = (88, "Scala")
// 定义 Option
val a:Option[Int] = Some(8)
}
}