scala.collection.mutable

class Stack

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

@serializable

@cloneable

class Stack[A]
extends Seq[A] with CloneableCollection
A stack implements a data structure which allows to store and retrieve objects in a last-in-first-out (LIFO) fashion.
Author
Matthias Zenger
Version
1.1, 03/05/2004
Direct Known Subclasses:
StackProxy, SynchronizedStack

Method Summary
def ++= (it : Iterator[A]) : Unit
Pushes all elements provided by an iterator on top of the stack. The elements are pushed in the order they are given out by the iterator.
def ++= (iter : Iterable[A]) : Unit
Pushes all elements provided by an Iterable object on top of the stack. The elements are pushed in the order they are given out by the iterator.
def += (elem : A) : Unit
Pushes a single element on top of the stack.
override def apply (index : Int) : A
def clear : Unit
Removes all elements from the stack. After this operation completed, the stack will be empty.
override def clone : Stack[A]
This method clones the stack.
override def elements : Iterator[A]
Returns an iterator over all elements on the stack. This iterator is stable with respect to state changes in the stack object; i.e. such changes will not be reflected in the iterator. The iterator issues elements in the order they were inserted into the stack (FIFO order).
override def equals (obj : Any) : Boolean
Checks if two stacks are structurally identical.
override def hashCode : Int
The hashCode method always yields an error, since it is not safe to use mutable stacks as keys in hash tables.
override def isEmpty : Boolean
Checks if the stack is empty.
override def length : Int
Returns the length of the sequence.
def pop : A
Removes the top element from the stack.
def push (elems : A*) : Unit
Pushes a sequence of elements on top of the stack. The first element is pushed first, etc.
protected override def stringPrefix : java.lang.String
Defines the prefix of this object's toString representation.
override def toList : List[A]
Creates a list of all stack elements in FIFO order.
def top : A
Returns the top element of the stack. This method will not remove the element from the stack. An error is signaled if there is no element on the stack.
Methods inherited from Seq
lengthCompare, size, 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
partition, foreach, forall, exists, find, foldLeft, foldRight, /:, :\, reduceLeft, reduceRight, copyToBuffer, sameElements, toStream, mkString, mkString, mkString, addString, addString, addString, copyToArray, hasDefiniteSize
Methods inherited from PartialFunction
orElse, andThen
Methods inherited from Function1
compose
Methods inherited from AnyRef
getClass, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized
Methods inherited from Any
==, !=, isInstanceOf, asInstanceOf
Method Details
override def isEmpty : Boolean
Checks if the stack is empty.
Returns
true, iff there is no element on the stack
Overrides
Seq.isEmpty

override def length : Int
Returns the length of the sequence.
Returns
the sequence length.
Overrides
Seq.length

override def apply(index : Int) : A

def +=(elem : A) : Unit
Pushes a single element on top of the stack.
Parameters
elem - the element to push onto the stack

def ++=(iter : Iterable[A]) : Unit
Pushes all elements provided by an Iterable object on top of the stack. The elements are pushed in the order they are given out by the iterator.
Parameters
iter - an iterable object

def ++=(it : Iterator[A]) : Unit
Pushes all elements provided by an iterator on top of the stack. The elements are pushed in the order they are given out by the iterator.
Parameters
iter - an iterator

def push(elems : A*) : Unit
Pushes a sequence of elements on top of the stack. The first element is pushed first, etc.
Parameters
elems - a sequence of elements

def top : A
Returns the top element of the stack. This method will not remove the element from the stack. An error is signaled if there is no element on the stack.
Throws
Predef.NoSuchElementException -
Returns
the top element

def pop : A
Removes the top element from the stack.
Throws
Predef.NoSuchElementException -
Returns
the top element

def clear : Unit
Removes all elements from the stack. After this operation completed, the stack will be empty.

override def elements : Iterator[A]
Returns an iterator over all elements on the stack. This iterator is stable with respect to state changes in the stack object; i.e. such changes will not be reflected in the iterator. The iterator issues elements in the order they were inserted into the stack (FIFO order).
Returns
an iterator over all stack elements.

override def toList : List[A]
Creates a list of all stack elements in FIFO order.
Returns
the created list.

override def equals(obj : Any) : Boolean
Checks if two stacks are structurally identical.
Returns
true, iff both stacks contain the same sequence of elements.

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

override def clone : Stack[A]
This method clones the stack.
Returns
a stack with the same elements.
Overrides
CloneableCollection.clone

protected override def stringPrefix : java.lang.String
Defines the prefix of this object's toString representation.