scala.collection.immutable

class Queue

[source: scala/collection/immutable/Queue.scala]

@serializable

class Queue[+A](elem : A*)
extends Seq[A]
Queue objects implement data structures that allow to insert and retrieve elements in a first-in-first-out (FIFO) manner.
Author
Erik Stenman
Version
1.0, 08/07/2003
Value Summary
protected val in : List[A]
protected val out : List[A]
Method Summary
def + [B >: A](elem : B) : Queue[B]
Creates a new queue with element added at the end of the old queue.
def + [B >: A](iter : Iterable[B]) : Queue[B]
Returns a new queue with all all elements provided by an Iterable object added at the end of the queue. The elements are prepended in the order they are given out by the iterator.
def apply (n : Int) : A
Returns the n-th element of this queue. The first element is at position 0.
def dequeue : (A, Queue[A])
Returns a tuple with the first element in the queue, and a new queue with this element removed.
override def elements : Iterator[A]
Returns the elements in the list as an iterator
def enqueue [B >: A](elems : B*) : Queue[B]
Returns a new queue with all elements added.
override def equals (o : Any) : Boolean
Compares two queues for equality by comparing each element in the queues.
def front : A
Returns the first element in the queue, or throws an error if there is no element contained in the queue.
override def hashCode : Int
override def isEmpty : Boolean
Checks if the queue is empty.
def length : Int
Returns the length of the queue.
protected def mkQueue [A](i : List[A], o : List[A]) : Queue[A]
override def toString : String
Returns a string representation of this queue.
Methods inherited from Seq
size, concat, last, ++, isDefinedAt, lastIndexOf, map, flatMap, filter, take, drop, takeWhile, dropWhile, reverse, contains, slice, subseq, toArray, projection
Methods inherited from Collection
stringPrefix, equalWith
Methods inherited from Iterable
foreach, forall, exists, find, findIndexOf, indexOf, foldLeft, foldRight, /:, :\, reduceLeft, reduceRight, copyToBuffer, sameElements, toList, mkString, mkString, addString, addString, copyToArray, hasDefiniteSize
Methods inherited from PartialFunction
orElse, andThen
Methods inherited from Function1
compose
Methods inherited from AnyRef
getClass, clone, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized
Methods inherited from Any
==, !=, isInstanceOf, asInstanceOf
Value Details
protected val in : List[A]

protected val out : List[A]

Method Details
protected def mkQueue[A](i : List[A], o : List[A]) : Queue[A]

def apply(n : Int) : A
Returns the n-th element of this queue. The first element is at position 0.
Parameters
n - index of the element to return
Returns
the element at position n in this queue.
Throws
Predef.NoSuchElementException - if the queue is too short.

override def elements : Iterator[A]
Returns the elements in the list as an iterator

override def isEmpty : Boolean
Checks if the queue is empty.
Returns
true, iff there is no element in the queue.
Overrides
Seq.isEmpty

def length : Int
Returns the length of the queue.
Overrides
Seq.length

def +[B >: A](elem : B) : Queue[B]
Creates a new queue with element added at the end of the old queue.
Parameters
elem - the element to insert

def +[B >: A](iter : Iterable[B]) : Queue[B]
Returns a new queue with all all elements provided by an Iterable object added at the end of the queue. The elements are prepended in the order they are given out by the iterator.
Parameters
iter - an iterable object

def enqueue[B >: A](elems : B*) : Queue[B]
Returns a new queue with all elements added.
Parameters
elems - the elements to add.

def dequeue : (A, Queue[A])
Returns a tuple with the first element in the queue, and a new queue with this element removed.
Throws
Predef.NoSuchElementException -
Returns
the first element of the queue.

def front : A
Returns the first element in the queue, or throws an error if there is no element contained in the queue.
Throws
Predef.NoSuchElementException -
Returns
the first element.

override def toString : String
Returns a string representation of this queue.

override def equals(o : Any) : Boolean
Compares two queues for equality by comparing each element in the queues.
Returns
true, iff the two queues are structurally equal.

override def hashCode : Int