文章永久连接:https://tech.souyunku.com/2999
scala 提供了强大的集合类型抽象和集合实现。
Scala 的集合分为 可变集合 和 不可变集合 。 + 可变集合是指集合在初始化之后还可以修改,添加,移除一个集合的元素。 + 不可变集合类,集合一旦被建立起来就永远不会改变。虽然我们仍然可以添加,移除或更新操作,但每次变更都会产生新的集合,而原来的集合却不会发生改变。
下面让我们来看看几种常见的集合类型:
集合 | 描述 |
---|---|
Scala List(列表) | (列表)List 的元素以线性方式存储,集合中可以存放重复对象 |
Scala Set(集合) | Set 是最简单的一种集合。 集合中的对象是唯一的,且无序。 Set集合 集合中没有重复元素,且元素顺序和添加的顺序不一定一样 |
Scala Map(哈希表) | 哈希表(Map)也称散列表, 是一种把键对象和值对象映射的集合,它的每一个元素都包含一对键对象和值对象 |
Scala 元组 | 元组是不同类型的值的集合 |
Scala Option | Option[T] 表示有可能包含值的容器,也可能不包含值。 |
Scala Iterator(迭代器) | 迭代器不是一个容器,更确切的说是逐一访问容器内元素的方法 |
范例
我们用一组范例来讲解上述表中所有的集合:
// 定义整型 List
val x = List(11,12,13,14)
// 定义 Set
var x = Set(8,7,4,2)
// 定义 Map
val x = Map("age" -> 27, "year" -> 1990, "sex" -> 1)
// 创建两个不同类型元素的元组
val x = (99, "搜云库技术团队")
// 定义 Option
val x:Option[Int] = Some(9)
干货推荐
附录:Scala 教程:系列文章
- 一、Scala 教程: 教程
- 二、Scala 教程: 简介
- 三、Scala 教程: 安装
- 四、Scala 教程: 基础语法
- 五、Scala 教程: 数据类型
- 六、Scala 教程: 中文乱码解决
- 七、Scala 教程: 变量
- 八、Scala 教程: 访问修饰符
- 九、Scala 教程: 运算符
- 十、Scala 教程: if…else 语句
- 十一、Scala 教程: 循环
- 十二、Scala 教程: 函数
- 十三、Scala 教程: 闭包
- 十四、Scala 教程: 字符串
- 十五、Scala 教程: 数组
- 【当前读到】十六、Scala 教程: Collection
- 十七、Scala 教程: Iterator(迭代器)
- 十八、Scala 教程: 类和对象
- 十九、Scala 教程: Trait(特征)
- 二十、Scala 教程: 模式匹配
- 二十一、Scala 教程: 正则表达式
- 二十二、Scala 教程: 异常处理
- 二十三、Scala 教程: 提取器(Extractor)
- 二十四、Scala 教程: 文件 IO
- 二十五、Scala 教程: do…while 循环
- 二十六、Scala 教程: 函数 – 默认参数值
- 二十七、Scala 教程: 高阶函数
- 二十八、Scala 教程: 函数嵌套
- 二十九、Scala 教程: Map(映射)
- 三十、Scala 教程: 指定函数参数名
- 三十一、Scala 教程: 偏应用函数
- 三十二、Scala 教程: 匿名函数
- 三十三、Scala 教程: 元组
- 三十四、Scala 教程: 函数传名调用(call-by-name)
- 三十五、Scala 教程: 递归函数
- 三十六、Scala 教程: Set(集合)
- 三十七、Scala 教程: 函数柯里化(Currying)
- 三十八、Scala 教程: 函数 – 可变参数
- 三十九、Scala 教程: Option(选项)
- 四十、Scala 教程: do…while 循环
- 四十一、Scala 教程: while 循环
- 四十二、Scala 教程: List(列表)
- 四十三、Scala 教程: break 语句