上图是mutabl的类图,在Seq下有一个Buffer,是其他集合包里没有的.
Buffer是mutable下一个比较重要的元素,他不仅允许更新已经存在的元素,同时允许元素的增加,删除,追加新元素到buffer尾部。buffer最主要的新方法如下:
尾部追加:+= , ++=
头部添加:+=: , ++=:
3. 插入: insert, insertAll
4. 删除: remove , -=
两个常用的Buffer实现,ListBuffer 和 ArrayBuffer. 见名见意,ListBuffer被List支持,他能够高效的转换他的元素到一个List. 而ArrayBuffer被Array支持,也能快速的转换为一个Array.
Class Buffer中的方法
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,包含的元素相同 |
本文转自 wws5201985 51CTO博客,原文链接:http://blog.51cto.com/yjplxq/1432277,如需转载请自行联系原作者