scala.collection.mutable

trait Buffer

[source: scala/collection/mutable/Buffer.scala]

@cloneable

trait Buffer[A]
extends Seq[A] with Scriptable[Message[(Location, A)]] with CloneableCollection
Buffers are used to create sequences of elements incrementally by appending, prepending, or inserting new elements. It is also possible to access and modify elements in a random access fashion via the index of the element in the current sequence.
Author
Matthias Zenger
Version
1.1, 02/03/2004
Direct Known Subclasses:
ArrayBuffer, BufferProxy, ListBuffer, ObservableBuffer, SynchronizedBuffer, RichStringBuilder, BufferWrapper, RefBuffer

Method Summary
def + (elem : A) : Buffer[A]
Append a single element to this buffer and return the identity of the buffer.
override def ++ [B >: A](that : Iterable[B]) : Seq[B]
Appends two iterable objects.
def ++ (iter : Iterator[A]) : Buffer[A]
Appends a number of elements provided by an iterator via its elements method. The identity of the buffer is returned.
def ++ (iter : Iterable[A]) : Buffer[A]
Appends a number of elements provided by an iterable object via its elements method. The identity of the buffer is returned.
def ++: (iter : Iterable[A]) : Buffer[A]
Prepends a number of elements provided by an iterable object via its elements method. The identity of the buffer is returned.
def ++= (iter : Iterable[A]) : Unit
Appends a number of elements provided by an iterable object via its elements method.
def ++= (src : Array[A], start : Int, len : Int) : Unit
Appends a number of elements in an array
def ++= (iter : Iterator[A]) : Unit
Appends a number of elements provided by an iterator
abstract def +: (elem : A) : Buffer[A]
Prepend a single element to this buffer and return the identity of the buffer.
abstract def += (elem : A) : Unit
Append a single element to this buffer.
def -= (x : A) : Unit
Removes a single element from this buffer, at its first occurrence. If the list does not contain that element, it is unchanged
def << (cmd : Message[(Location, A)]) : Unit
Send a message to this scriptable object.
def append (elems : A*) : Unit
Appends a sequence of elements to this buffer.
def appendAll (iter : Iterable[A]) : Unit
Appends a number of elements provided by an iterable object via its elements method.
abstract def clear : Unit
Clears the buffer contents.
override def clone : Buffer[A]
Return a clone of this buffer.
override def hashCode : Int
The hashCode method always yields an error, since it is not safe to use buffers as keys in hash tables.
def insert (n : Int, elems : A*) : Unit
Inserts new elements at the index n. Opposed to method update, this method will not replace an element with a one. Instead, it will insert the new elements at index n.
abstract def insertAll (n : Int, iter : Iterable[A]) : Unit
Inserts new elements at the index n. Opposed to method update, this method will not replace an element with a one. Instead, it will insert a new element at index n.
def prepend (elems : A*) : Unit
Prepend an element to this list.
def prependAll (iter : Iterable[A]) : Unit
Prepends a number of elements provided by an iterable object via its elements method. The identity of the buffer is returned.
abstract def readOnly : Seq[A]
return a read only alias of this buffer
abstract def remove (n : Int) : A
Removes the element on a given index position.
protected override def stringPrefix : java.lang.String
Defines the prefix of the string representation.
def trimEnd (n : Int) : Unit
Removes the last n elements.
def trimStart (n : Int) : Unit
Removes the first n elements.
abstract def update (n : Int, newelem : A) : Unit
Replace element at index n with the new element newelem.
Methods inherited from Seq
length (abstract), lengthCompare, size, isEmpty, concat, last, lastOption, first, firstOption, headOption, isDefinedAt, lastIndexOf, findIndexOf, indexOf, map, flatMap, filter, take, drop, slice, slice, takeWhile, dropWhile, reverse, contains, subseq, toArray, toSeq, projection, equalsWith, startsWith, startsWith, endsWith, indexOf, containsSlice
Methods inherited from Collection
toString
Methods inherited from Iterable
elements (abstract), partition, foreach, forall, exists, find, foldLeft, foldRight, /:, :\, reduceLeft, reduceRight, copyToBuffer, sameElements, toList, toStream, mkString, mkString, mkString, addString, addString, addString, copyToArray, hasDefiniteSize
Methods inherited from PartialFunction
orElse, andThen
Methods inherited from Function1
apply (abstract), compose
Methods inherited from AnyRef
getClass, equals, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized
Methods inherited from Any
==, !=, isInstanceOf, asInstanceOf
Method Details
abstract def +=(elem : A) : Unit
Append a single element to this buffer.
Parameters
elem - the element to append.

def +(elem : A) : Buffer[A]
Append a single element to this buffer and return the identity of the buffer.
Parameters
elem - the element to append.

abstract def +:(elem : A) : Buffer[A]
Prepend a single element to this buffer and return the identity of the buffer.
Parameters
elem - the element to append.

def ++=(iter : Iterator[A]) : Unit
Appends a number of elements provided by an iterator
Parameters
iter - the iterator.

def ++=(iter : Iterable[A]) : Unit
Appends a number of elements provided by an iterable object via its elements method.
Parameters
iter - the iterable object.

def ++=(src : Array[A], start : Int, len : Int) : Unit
Appends a number of elements in an array
Parameters
src - the array
start - the first element to append
len - the number of elements to append

abstract def readOnly : Seq[A]
return a read only alias of this buffer

def ++(iter : Iterable[A]) : Buffer[A]
Appends a number of elements provided by an iterable object via its elements method. The identity of the buffer is returned.
Parameters
iter - the iterable object.
Returns
the updated buffer.

override def ++[B >: A](that : Iterable[B]) : Seq[B]
Appends two iterable objects.
Overrides
Seq.++

def ++(iter : Iterator[A]) : Buffer[A]
Appends a number of elements provided by an iterator via its elements method. The identity of the buffer is returned.
Parameters
iter - the iterator
Returns
the updated buffer.

def ++:(iter : Iterable[A]) : Buffer[A]
Prepends a number of elements provided by an iterable object via its elements method. The identity of the buffer is returned.
Parameters
iter - the iterable object.

def -=(x : A) : Unit
Removes a single element from this buffer, at its first occurrence. If the list does not contain that element, it is unchanged
Parameters
x - the element to remove.

def append(elems : A*) : Unit
Appends a sequence of elements to this buffer.
Parameters
elems - the elements to append.

def appendAll(iter : Iterable[A]) : Unit
Appends a number of elements provided by an iterable object via its elements method.
Parameters
iter - the iterable object.

def prepend(elems : A*) : Unit
Prepend an element to this list.
Parameters
elem - the element to prepend.

def prependAll(iter : Iterable[A]) : Unit
Prepends a number of elements provided by an iterable object via its elements method. The identity of the buffer is returned.
Parameters
iter - the iterable object.

def insert(n : Int, elems : A*) : Unit
Inserts new elements at the index n. Opposed to method update, this method will not replace an element with a one. Instead, it will insert the new elements at index n.
Parameters
n - the index where a new element will be inserted.
elems - the new elements to insert.

abstract def insertAll(n : Int, iter : Iterable[A]) : Unit
Inserts new elements at the index n. Opposed to method update, this method will not replace an element with a one. Instead, it will insert a new element at index n.
Parameters
n - the index where a new element will be inserted.
iter - the iterable object providing all elements to insert.

abstract def update(n : Int, newelem : A) : Unit
Replace element at index n with the new element newelem.
Parameters
n - the index of the element to replace.
newelem - the new element.

abstract def remove(n : Int) : A
Removes the element on a given index position.
Parameters
n - the index which refers to the element to delete.

def trimStart(n : Int) : Unit
Removes the first n elements.
Parameters
n - the number of elements to remove from the beginning of this buffer.

def trimEnd(n : Int) : Unit
Removes the last n elements.
Parameters
n - the number of elements to remove from the end of this buffer.

abstract def clear : Unit
Clears the buffer contents.

def <<(cmd : Message[(Location, A)]) : Unit
Send a message to this scriptable object.
Parameters
cmd - the message to send.
Overrides
Scriptable.<<

override def clone : Buffer[A]
Return a clone of this buffer.
Returns
a buffer with the same elements.
Overrides
CloneableCollection.clone

override def hashCode : Int
The hashCode method always yields an error, since it is not safe to use buffers as keys in hash tables.
Returns
never.

protected override def stringPrefix : java.lang.String
Defines the prefix of the string representation.