# Scala Collection
Scala提供了一套很好的集合实现,提供了一些集合类型的抽象。
Scala 集合分为可变的和不可变的集合。
可变集合可以在适当的地方被更新或扩展。这意味着你可以修改,添加,移除一个集合的元素。
而不可变集合类,相比之下,永远不会改变。不过,你仍然可以模拟添加,移除或更新操作。但是这些操作将在每一种情况下都返回一个新的集合,同时使原来的集合不发生改变。
接下来我们将为大家介绍几种常用集合类型的应用:
| 序号 | 集合 | 描述 |
| --- | --- | --- |
| 1 | [Scala List(列表)](/scala/scala-lists.html) | List的特征是其元素以线性方式存储,集合中可以存放重复对象。 参考 [API文档](http://www.scala-lang.org/api/current/scala/collection/immutable/List.html) |
| 2 | [Scala Set(集合)](/scala/scala-sets.html) | Set是最简单的一种集合。集合中的对象不按特定的方式排序,并且没有重复对象。 参考 [API文档](http://www.scala-lang.org/api/current/scala/collection/immutable/Set.html) |
| 3 | [Scala Map(映射)](/scala/scala-maps.html) | Map 是一种把键对象和值对象映射的集合,它的每一个元素都包含一对键对象和值对象。 参考 [API文档](http://www.scala-lang.org/api/current/scala/collection/immutable/Map.html) |
| 4 | [Scala 元组](/scala/scala-tuples.html) | 元组是不同类型的值的集合 |
| 5 | [Scala Option](/scala/scala-options.html) | Option\[T\] 表示有可能包含值的容器,也可能不包含值。 |
| 6 | [Scala Iterator(迭代器)](/scala/scala-iterators.html) | 迭代器不是一个容器,更确切的说是逐一访问容器内元素的方法。 |
### 实例
以下代码判断,演示了所有以上集合类型的定义实例:
```
// 定义整型 List
val x = List(1,2,3,4)
// 定义 Set
var x = Set(1,3,5,7)
// 定义 Map
val x = Map("one" -> 1, "two" -> 2, "three" -> 3)
// 创建两个不同类型元素的元组
val x = (10, "Runoob")
// 定义 Option
val x:Option[Int] = Some(5)
```
- Scala 教程
- Scala 简介
- Scala 安装
- Scala 基础语法
- Scala 数据类型
- Scala 变量
- Scala 访问修饰符
- Scala 运算符
- Scala IF...ELSE 语句
- Scala 循环
- Scala while 循环
- Scala do...while 循环
- Scala do...while 循环
- Scala break 语句
- Scala 函数
- Scala 函数传名调用(call-by-name)
- Scala 指定函数参数名
- Scala 函数 - 可变参数
- Scala 递归函数
- Scala 高阶函数
- Scala 函数嵌套
- Scala 匿名函数
- Scala 偏应用函数
- Scala 函数柯里化(Currying)
- Scala 闭包
- Scala 字符串
- Scala 数组
- Scala Collection
- Scala List(列表)
- Scala Set(集合)
- Scala Map(映射)
- Scala 元组
- Scala Option(选项)
- Scala Iterator(迭代器)
- Scala 类和对象
- Scala Trait(特征)
- Scala 模式匹配
- Scala 正则表达式
- Scala 异常处理
- Scala 提取器(Extractor)
- Scala 文件 I/O