バッファ | 目次 |
最新版は Scala Documentation に移行しました。
可変列に分類されるものの中で重要なものに Buffer がある。バッファは既存の要素を上書きできるだけでなく、要素を挿入したり、削除したり、効率的にバッファの最後に新しい要素を追加したりできる。バッファがサポートする新しいメソッドの中で主要なものは、要素を最後に追加する += と ++=、先頭に追加する +=: と ++=:、要素を挿入する insert と insertAll、そして要素を削除する remove と -= だ。以下の表にこれらの演算をまとめた。
よく使われるバッファの実装に ListBuffer と ArrayBuffer がある。名前が示すとおり、ListBuffer は List に支えられており、要素を効率的に List に変換できる。一方、ArrayBuffer は配列に支えられており、これも素早く配列に変換できる。
Buffer トレイトの演算 | |
---|---|
使用例 | 振る舞い |
加算: | |
buf += x | バッファの最後に要素 x を追加し、buf 自身を戻り値として返す。 |
buf += (x, y, z) | 渡された要素をバッファの最後に追加する。 |
buf ++= xs | xs内の全ての要素をバッファの最後に追加する。 |
x +=: buf | バッファの先頭に要素 x を追加する。 |
xs ++=: buf | xs内の全ての要素をバッファの先頭に追加する。 |
buf insert (i, x) | バッファの添字 i の位置に要素 x を挿入する。 |
buf insertAll (i, xs) | xs内の全ての要素をバッファの添字 i の位置に挿入する。 |
減算: | |
buf -= x | バッファから要素 x を削除する。 |
buf remove i | バッファの添字 i の位置の要素を削除する。 |
buf remove (i, n) | バッファの添字 i の位置から始まる n個の要素を削除する。 |
buf trimStart n | バッファの先頭の要素 n個を削除する。 |
buf trimEnd n | バッファの最後の要素 n個を削除する。 |
buf.clear() | バッファの全ての要素を削除する。 |
クローン演算: | |
buf.clone | buf と同じ要素を持った新しいバッファ。 |
続いては、集合
バッファ | 目次 |