上图是mutabl的类图,在Seq下有一个Buffer,是其余集合包里没有的.ide
Buffer是mutable下一个比较重要的元素,他不只容许更新已经存在的元素,同时容许元素的增长,删除,追加新元素到buffer尾部。buffer最主要的新方法以下:
spa
尾部追加:+= , ++=索引
头部添加:+=: , ++=:
ci
3. 插入: insert, insertAllrem
4. 删除: remove , -=it
两个经常使用的Buffer实现,ListBuffer 和 ArrayBuffer. 见名见意,ListBuffer被List支持,他可以高效的转换他的元素到一个List. 而ArrayBuffer被Array支持,也能快速的转换为一个Array.io
Class Buffer中的方法table
WHAT IT IS | WHAT IT DOES |
添加 | |
buf += x | 追加元素x到buffer,返回buf |
buf += (x, y, z) | 追加括号内元素到buf |
buf ++= xs | 追加集合xs中的元素到buf |
x +=: buf | buf头部插入元素x |
xs ++=: buf | buf头部插入xs的全部元素 |
buf insert (i, x) | 插入x到索引i的位置 |
buf insertAll (i, xs) | 插入xs的全部元素,以i位置为起始 |
删除 | |
buf -= x | 从buffer中删除元素x |
buf remove i | 删除索引i的元素 |
buf remove (i, n) | 删除n个元素,从索引i开始 |
buf trimStart n | 删除前n个元素 |
buf trimEnd n | 删除后n个元素 |
buf.clear() | 清空buffer |
克隆 |
|
buf.clone | 生成一个心的buf,包含的元素相同 |