Scala Library Documentation


scala/Iterator.scala
]
trait
Iterator[+A]
extends
AnyRefhasNext
method for checking
if there is a next element available, and a next
method
which returns the next element and discards it from the iterator.Method Summary  
def

++
[B >: A](that : => Iterator[B]) : Iterator[B]
Returns a new iterator that first yields the elements of this
iterator followed by the elements provided by iterator
that . 
def

/:
[B](z : B)(op : (B, A) => B) : B
Similar to
foldLeft but can be used as
an operator with the order of iterator and zero arguments reversed.
That is, z /: xs is the same as xs foldLeft z . 
def

:\
[B](z : B)(op : (A, B) => B) : B
An alias for
foldRight .
That is, xs :\ z is the same as xs foldRight z . 
def

addString
(buf : StringBuilder, start : String, sep : String, end : String) : StringBuilder
Write all elements of this string into given string builder.

def

append
[B >: A](that : Iterator[B]) : Iterator[B]
Returns a new iterator that first yields the elements of this
iterator followed by the elements provided by iterator
that . 
def

buffered
: BufferedIterator[A]
Returns a buffered iterator from this iterator.

def

contains
(elem : Any) : Boolean
Tests if the given value
elem is a member of this iterator. 
def

copyToArray
[B >: A](xs : Array[B], start : Int) : Unit
Fills the given array
xs with the elements of
this sequence starting at position start . 
def

copyToBuffer
[B >: A](dest : Buffer[B]) : Unit
Copy all elements to a buffer

def

counted
: CountedIterator[A]
Returns a counted iterator from this iterator.

def

drop
(n : Int) : Iterator[A]
Removes the first
n elements from this iterator. 
def

dropWhile
(p : (A) => Boolean) : Iterator[A]
Skips longest sequence of elements of this iterator which satisfy given
predicate
p , and returns an iterator of the remaining elements. 
def

duplicate
: (Iterator[A], Iterator[A])
Creates two new iterators that both iterate over the same elements
than this iterator (in the same order).

def

exists
(p : (A) => Boolean) : Boolean
Apply a predicate
p to all elements of this
iterable object and return true, iff there is at least one
element for which p yields true . 
def

filter
(p : (A) => Boolean) : Iterator[A]
Returns an iterator over all the elements of this iterator that
satisfy the predicate
p . The order of the elements
is preserved. 
def

find
(p : (A) => Boolean) : Option[A]
Find and return the first element of the iterable object satisfying a
predicate, if any.

def

flatMap
[B](f : (A) => Iterator[B]) : Iterator[B]
Applies the given function
f to each element of
this iterator, then concatenates the results. 
def

foldLeft
[B](z : B)(op : (B, A) => B) : B
Combines the elements of this iterator together using the binary
operator
op , from left to right, and starting with
the value z . 
def

foldRight
[B](z : B)(op : (A, B) => B) : B
Combines the elements of this iterator together using the binary
operator
op , from right to left, and starting with
the value z . 
def

forall
(p : (A) => Boolean) : Boolean
Apply a predicate
p to all elements of this
iterable object and return true iff the predicate yields
true for all elements. 
def

foreach
(f : (A) => Unit) : Unit
Apply a function
f to all elements of this
iterable object. 
abstract def

hasNext
: Boolean
Does this iterator provide another element?

def

map
[B](f : (A) => B) : Iterator[B]
Returns a new iterator that maps all elements of this iterator
to new elements using function
f . 
def

mkString
(sep : String) : String
Returns a string representation of this iterable object. The string
representations of elements (w.r.t. the method
toString() )
are separated by the string sep . 
def

mkString
(start : String, sep : String, end : String) : String
Returns a string representation of the elements in this iterator. The resulting string
begins with the string
start and is finished by the string
end . Inside, the string representations of elements (w.r.t.
the method toString() ) are separated by the string
sep .
Ex: 
abstract def

next
: A
Returns the next element.

def

readInto [B >: A](xs : Array[B], start : Int) : Unit 
def

readInto
[B >: A](xs : Array[B], start : Int, sz : Int) : Unit
Fills the given array
xs with the elements of
this sequence starting at position start . Like copyToArray ,
but designed to accomodate IO stream operations. 
def

readInto [B >: A](xs : Array[B]) : Unit 
def

reduceLeft
[B >: A](op : (B, B) => B) : B
Combines the elements of this iterator together using the binary
operator
op , from left to right 
def

reduceRight
[B >: A](op : (B, B) => B) : B
Combines the elements of this iterator together using the binary
operator
op , from right to left 
def

take
(n : Int) : Iterator[A]
Returns a new iterator that iterates only over the first
n
elements. 
def

takeWhile
(p : (A) => Boolean) : Iterator[A]
Returns an iterator over the longest prefix of this iterator such that
all elements of the result satisfy the predicate
p .
The order of the elements is preserved. 
def

toList
: List[A]
Transform this iterator into a list of all elements.

override def

toString : String 
def

zip
[B](that : Iterator[B]) : Iterator[(A, B)]
Return an iterator formed from this iterator and the specified iterator
that by associating each element of the former with
the element at the same position in the latter.
If one of the two iterators is longer than the other, its remaining elements are ignored. 
def

zipWithIndex
: Iterator[(A, Int)]
Return an iterator that pairs each element of this iterator
with its index, counting from 0.

Methods inherited from AnyRef  
getClass, hashCode, equals, clone, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized 
Methods inherited from Any  
==, !=, isInstanceOf, asInstanceOf 
Class Summary  
protected class

PredicatedIterator
(p : (A) => Boolean) extends Default[A]

protected class

TakeWhileIterator
(p : (A) => Boolean) extends PredicatedIterator

Method Details 
abstract
def
hasNext : Boolean
abstract
def
next : A
n
elements.n 
the number of elements to taken
elements from this iterator.n 
the number of elements to dropf
.that
.++
that
.f
to each element of
this iterator, then concatenates the results.f 
the function to apply on each element.f(a_{0}), ... , f(a_{n})
if this iterator yields the
elements a_{0}, ..., a_{n}
.p
. The order of the elements
is preserved.p 
the predicate used to filter the iterator.p
.p
.
The order of the elements is preserved.p 
the predicate used to filter the iterator.p
.p
, and returns an iterator of the remaining elements.p 
the predicate used to skip elements.that
by associating each element of the former with
the element at the same position in the latter.
If one of the two iterators is longer than the other, its remaining elements are ignored.{a_{0},b_{0}}, {a_{1},b_{1}}, ...
where
a_{i}
are the elements from this iterator
and b_{i}
are the elements from iterator
that
.start 
the index of the first element.{a_{0},0}, {a_{1},1}...
where a_{i}
are the elements from this iterator.f
to all elements of this
iterable object.f 
a function that is applied to every element.p
to all elements of this
iterable object and return true
iff the predicate yields
true
for all elements.p 
the predicatetrue
iff the predicate yields true
for all elements.p
to all elements of this
iterable object and return true, iff there is at least one
element for which p
yields true
.p 
the predicatetrue
iff the predicate yields true
for at least one element.elem
is a member of this iterator.elem 
element whose membership has to be tested.true
iff there is an element of this iterator which is equal (w.r.t. ==
) to elem
.p 
the predicatep
, or None
if none exists.op
, from left to right, and starting with
the value z
.op(... (op(op(z,a_{0}),a_{1}) ...), a_{n})
if the iterator yields elements
a_{0}, a_{1}, ..., a_{n}
.op
, from right to left, and starting with
the value z
.a_{0} op (... op (a_{n} op z)...)
if the iterator yields elements a_{0}, a_{1}, ...,
a_{n}
.foldLeft
but can be used as
an operator with the order of iterator and zero arguments reversed.
That is, z /: xs
is the same as xs foldLeft z
.z 
the left argument of the first application of op
(evaluation occurs from left to right).op 
the applied operator.foldLeft
.foldRight
.
That is, xs :\ z
is the same as xs foldRight z
.z 
the right argument of the first application of op
(evaluation occurs from right to left).op 
the applied operator.foldRight
.op
, from left to rightop 
The operator to applyop(... op(a_{0},a_{1}), ..., a_{n})
if the iterator yields elements
a_{0}, a_{1}, ..., a_{n}
.op
, from right to leftop 
The operator to applya_{0} op (... op (a_{n1} op a_{n})...)
if the iterator yields elements a_{0}, a_{1}, ...,
a_{n}
.
def
buffered : BufferedIterator[A]
def
counted : CountedIterator[A]
xs
with the elements of
this sequence starting at position start
.xs 
the array to fill.start 
the starting index.xs
with the elements of
this sequence starting at position start
. Like copyToArray
,
but designed to accomodate IO stream operations.xs 
the array to fill.start 
the starting index.sz 
the maximum number of elements to be read.sz
elements.The 
buffer to which elements are copiedstart
and is finished by the string
end
. Inside, the string representations of elements (w.r.t.
the method toString()
) are separated by the string
sep
.
Ex:
List(1, 2, 3).mkString("(", "; ", ")") = "(1; 2; 3)"
start 
starting string.sep 
separator string.end 
ending string.toString()
)
are separated by the string sep
.sep 
separator string.
def
addString(buf : StringBuilder, start : String, sep : String, end : String) : StringBuilder
buf 
...start 
the starting stringsep 
the separator stringend 
the ending stringoverride
def
toString : String
Scala Library Documentation

