使用列表
列表同数组的区别:
- 列表为不可变的
- 列表具有递归结构,但数组是连续的
所有列表可以通过Nil和::来构造出来,
连接列表 :::
length
last/init head/tail
reverse
归并排序
1 | def merge(xs:List[T], ys:List[T]):List[T] = |
折叠列表,类似二叉树? /: :\
(z/:List(a, b, c))(op)等价于op(op(op(z,a),b),c)
列表排序 sort
集合类型
ListBuffer
ArrayBuffer
Queue
Stack
1 | val counts = mutable.Map.empty[String, Int] |
有状态的对象
函数式(不可变)对象 有状态的对象
var变量x的getter方法命名为x, setter方法命名为x_=
1 | var a:Float =_ |
=_ 初始化默认值,
类型参数化
更好地编写泛型类和trait