Scala编程进阶:集合、函数式风格与文件处理
1. 元组元素访问
在Scala中,不能像访问列表元素那样(如 pair(0)
)访问元组元素。这是因为列表的 apply
方法总是返回相同类型,而元组的每个元素可能是不同类型,例如 _1
可能是一种结果类型, _2
是另一种类型,依此类推。并且,这些 _N
编号是从1开始,而非从0开始,这是受Haskell和ML等具有静态类型元组的语言传统影响。
2. 使用集合和映射
Scala旨在让开发者同时利用函数式和命令式风格,其集合库区分了可变和不可变集合。例如,数组总是可变的,列表总是不可变的。对于集合和映射,Scala在类层次结构中体现了可变性。
2.1 集合(Set)
Scala API中有集合的基础特质(trait,类似于Java接口),还有可变集合和不可变集合的子特质。具体的集合类,如 HashSet
,会扩展可变或不可变的 Set
特质。
- 创建不可变集合 :
var jetSet = Set("Boeing", "Airbus")
jetSet += "Lear"
println(jetSet.contains("Cessna"))
在上述代码中,第一行定义了一个新的