| OVERVIEW | PACKAGE | CONSTR | FIELDS | METHODS | FRAMES NO FRAMES | INHERITED |
abstract class Stream[+ A]
extends
Projection[A]
The class Stream implements lazy lists where elements
are only evaluated when they are needed. Here is an example:
object Main extends Application {
def from(n: Int): Stream[Int] =
Stream.cons(n, from(n + 1))
def sieve(s: Stream[Int]): Stream[Int] =
Stream.cons(s.head, sieve(s.tail filter { _ % s.head != 0 }))
def primes = sieve(from(2))
primes take 10 print
}
- Martin Odersky, Matthias Zenger - 1.1 08/08/03
def this
|
| elements |
override def elements
An iterator returning the elements of this stream one by one
|
Iterator[A] | |
| first |
def first
Returns the first element of this list
[details]
|
A | Seq |
| firstOption |
def firstOption
Returns as an option the first element of this list or
None if list is empty
[details]
|
Option[A] | Seq |
| force |
override def force
convert to a copied strict collection
|
List[A] | |
| hasDefiniteSize |
override def hasDefiniteSize
returns true iff this collection has a bound size
[details]
Many APIs in this trait will not work on collections of
unbound sizes.
|
Boolean | |
| head |
abstract def head
The first element of this stream
[details]
|
A | |
| headOption |
def headOption
|
Option[A] | Seq |
| init |
def init
The stream without its last element
[details]
|
Stream[A] | |
| isEmpty |
override abstract def isEmpty
is this stream empty?
|
Boolean | |
| last |
override final def last
Returns the last element of this stream
[details]
|
A | |
| lastOption |
def lastOption
Returns as an option the last element of this list or
None if list is empty
[details]
|
Option[A] | Seq |
| length |
override def length
The length of this stream
|
Int | |
| mkString |
def mkString
Converts a collection into a flat
String by each element's toString method
[details]
|
String | Iterable |
| projection |
override def projection
returns a projection that can be used to call non-strict
filter,
map, and flatMap methods that build projections
of the collection
|
Projection[A] | Projection |
| reverse |
override def reverse
A stream consisting of all elements of this stream in reverse order
|
Stream[A] | |
| size |
def size
should always be
length
|
Int | Seq |
| stringPrefix |
protected def stringPrefix
Defines the prefix of this object's
toString representation
|
String | Collection |
| tail |
abstract def tail
A stream consisting of the remaining elements of this stream after the first one
[details]
|
Stream[A] | |
| toList |
def toList
Returns a list containing all of the elements in this iterable object
[details]
|
List[A] | Iterable |
| toSeq |
override def toSeq
Overridden for efficiency
[details]
|
Seq[A] | Seq |
| toStream |
override def toStream
Returns a stream containing all of the elements in this iterable object
[details]
|
Stream[A] |
| != |
final def !=(arg0 : Any)
o != arg0 is the same as !(o == (arg0))
[details]
|
Boolean | Any |
| != |
final def !=(arg0 : Object)
|
Boolean | AnyRef |
| ++ |
override def ++[B >: A](that : Iterable[B])
Appends two iterable objects
|
Seq[B] | Seq |
| /: |
def /:[B](z : B)(op : (B, A) => B)
Similar to
foldLeft but can be used as
an operator with the order of list and zero arguments reversed
[details]
That is,
z /: xs is the same as xs foldLeft z
|
B | Iterable |
| :\ |
def :\[B](z : B)(op : (A, B) => B)
An alias for
foldRight
[details]
That is,
xs :\ z is the same as xs foldRight z
|
B | Iterable |
| == |
final def ==(arg0 : Object)
o == arg0 is the same as if (o eq null) arg0 eq null else o
[details]
|
Boolean | AnyRef |
| == |
final def ==(arg0 : Any)
o == arg0 is the same as o
[details]
|
Boolean | Any |
| addDefinedElems |
protected abstract def addDefinedElems(buf : StringBuilder, prefix : String)
Write all elements of this string into given string builder
|
StringBuilder | |
| addString |
def addString(buf : StringBuilder)
Write all elements of this string into given string builder, with no separator string
between elements
[details]
|
StringBuilder | Iterable |
| addString |
def addString(buf : StringBuilder, start : String, sep : String, end : String)
Write all elements of this string into given string builder
[details]
|
StringBuilder | Iterable |
| addString |
def addString(buf : StringBuilder, sep : String)
Write all elements of this string into given string builder
[details]
|
StringBuilder | Iterable |
| andThen |
override def andThen[C](k : (B) => C)
(f andThen g)(x) == g(f(x))
|
PartialFunction[A, C] | PartialFunction |
| append |
override def append[B >: A](rest : => Iterable[B])
The stream resulting from the concatenation of this stream with the argument stream
[details]
|
Stream[B] | |
| apply |
override def apply(n : Int)
Returns the
n-th element of this stream
[details]
The first element
(head of the stream) is at position 0.
|
A | |
| asInstanceOf |
final def asInstanceOf[T0]
This method is used to cast the receiver object to be of type
T0
[details]
Note that the success of a cast at runtime is modulo Scala's
erasure semantics. Therefore the expression
|
T0 | Any |
| clone |
protected def clone
This method creates and returns a copy of the receiver object
[details]
The default implementation of the
|
Object | AnyRef |
| compose |
def compose[A](g : (A) => T1)
(f compose g)(x) == f(g(x))
|
(A) => R | Function1 |
| concat |
override def concat[B >: A](that : Iterable[B])
Appends two iterable objects
[details]
|
Seq[B] | Seq |
| contains |
def contains(elem : Any)
Tests if the given value
elem is a member of this
sequence
[details]
|
Boolean | Seq |
| containsSlice |
def containsSlice[B](that : Seq[B])
Is
that a slice in this?
|
Boolean | Seq |
| copyToArray |
override final def copyToArray[B >: A](xs : Array[B], start : Int)
Fills the given array
xs with the elements of
this stream starting at position start
[details]
|
Unit | |
| copyToBuffer |
def copyToBuffer[B >: A](dest : Buffer[B])
Copy all elements to a given buffer
[details]
|
Unit | Iterable |
| drop |
override final def drop(n : Int)
Returns the stream without its
n first elements
[details]
If the stream has less than
n elements, the empty stream is returned.
|
Stream[A] | |
| dropWhile |
override final def dropWhile(p : (A) => Boolean)
Returns the longest suffix of this stream whose first element
does not satisfy the predicate
p
[details]
|
Stream[A] | |
| endsWith |
def endsWith[B](that : Seq[B])
[details]
|
Boolean | Seq |
| eq |
final def eq(arg0 : Object)
This method is used to test whether the argument (
arg0) is a reference to the
receiver object (this)
[details]
The
eq method has three other properties.
When overriding the
|
Boolean | AnyRef |
| equals |
def equals(arg0 : Any)
This method is used to compare the receiver object (
this)
with the argument object (arg0) for equivalence
[details]
The default implementations of this method is an equivalence relation:
If you override this method, you should verify that
your implementation remains an equivalence relation.
Additionally, when overriding this method it is often necessary to
override
|
Boolean | AnyRef |
| equalsWith |
def equalsWith[B](that : Seq[B])(f : (A, B) => Boolean)
|
Boolean | Seq |
| exists |
override final def exists(p : (A) => Boolean)
Tests the existence in this stream of an element that satisfies the
predicate
p
[details]
|
Boolean | |
| filter |
override final def filter(p : (A) => Boolean)
Returns all the elements of this stream that satisfy the
predicate
p
[details]
The order of the elements is preserved.
|
Stream[A] | |
| finalize |
protected def finalize
This method is called by the garbage collector on the receiver object when garbage
collection determines that there are no more references to the object
[details]
The details of when and if the |
Unit | AnyRef |
| find |
def find(p : (A) => Boolean)
Find and return the first element of the iterable object satisfying a
predicate, if any
[details]
|
Option[A] | Iterable |
| findIndexOf |
override def findIndexOf(p : (A) => Boolean)
Returns index of the first element satisying a predicate, or -1
[details]
|
Int | Seq |
| flatMap |
override def flatMap[B](f : (A) => Iterable[B])
Applies the given function
f to each element of
this stream, then concatenates the results
[details]
|
Stream[B] | |
| foldLeft |
override final def foldLeft[B](z : B)(f : (B, A) => B)
Combines the elements of this stream together using the binary
function
f, from left to right, and starting with
the value z
[details]
|
B | |
| foldRight |
override def foldRight[B](z : B)(f : (A, B) => B)
Combines the elements of this stream together using the binary
function
f, from rigth to left, and starting with
the value z
[details]
|
B | |
| forall |
override final def forall(p : (A) => Boolean)
Tests if the predicate
p is satisfied by all elements
in this stream
[details]
|
Boolean | |
| foreach |
override final def foreach(f : (A) => Unit)
Apply the given function
f to each element of this stream
(while respecting the order of the elements)
[details]
|
Unit | |
| getClass |
final def getClass
Returns a representation that corresponds to the dynamic class of the receiver object
[details]
The nature of the representation is platform dependent.
|
Class[Any] | AnyRef |
| hashCode |
def hashCode
Returns a hash code value for the object
[details]
The default hashing algorithm is platform dependent.
Note that it is allowed for two objects to have identical hash
codes (
|
Int | AnyRef |
| indexOf |
override def indexOf[B >: A](elem : B)
Returns the index of the first occurence of the specified
object in this iterable object
[details]
|
Int | Seq |
| indexOf |
def indexOf[B >: A](that : Seq[B])
Searches for the argument sequence in the receiver object, returning
the smallest index where a match occurs
[details]
If the receiver object,
this, is an infinite sequence
this method will not terminate if there is no match. Similarly, if
the both the receiver object and the argument, that are
infinite sequences this method will not terminate.
Because both the receiver object and the argument can both potentially
be an infinite sequences, we do not attempt to use an optimized
searching algorithm. Therefore, the running time will be proportional
to the length of the receiver object and the argument. Subclasses and
traits can potentially provide an optimized implementation.
|
Int | Seq |
| isDefinedAt |
def isDefinedAt(x : Int)
Is this partial function defined for the index
x?
[details]
|
Boolean | Seq |
| isInstanceOf |
final def isInstanceOf[T0]
This method is used to test whether the dynamic type of the receiver object is
T0
[details]
Note that the test result of the test is modulo Scala's erasure
semantics. Therefore the expression
|
Boolean | Any |
| lastIndexOf |
def lastIndexOf[B >: A](elem : B)
Returns the index of the last occurence of the specified element
in this sequence, or -1 if the sequence does not contain this element
[details]
|
Int | Seq |
| lengthCompare |
override final def lengthCompare(l : Int)
Result of comparing
length with operand l
[details]
returns
x where
x < 0 iff this.length < l
x == 0 iff this.length == l
x > 0 iff this.length > that.
This method is used by matching streams against right-ignoring (...,_*) patterns.
This method does not call Stream.length, it works for O(l),
not for O(length) and does not force full Stream evaluation.
|
Int | |
| map |
override def map[B](f : (A) => B)
Returns the stream resulting from applying the given function
f to each
element of this stream
[details]
|
Stream[B] | |
| mkString |
def mkString(start : String, sep : String, end : String)
Returns a string representation of this iterable object
[details]
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.
|
String | Iterable |
| mkString |
def mkString(sep : String)
Returns a string representation of this iterable object
[details]
The string
representations of elements (w.r.t. the method
toString())
are separated by the string sep.
|
String | Iterable |
| ne |
final def ne(arg0 : Object)
o
[details]
|
Boolean | AnyRef |
| notify |
final def notify
Wakes up a single thread that is waiting on the receiver object's monitor
|
Unit | AnyRef |
| notifyAll |
final def notifyAll
Wakes up all threads that are waiting on the receiver object's monitor
|
Unit | AnyRef |
| orElse |
def orElse[A1 <: A, B1 >: B](that : PartialFunction[A1, B1])
|
PartialFunction[A1, B1] | PartialFunction |
| partition |
def partition(p : (A) => Boolean)
Partitions this iterable in two iterables according to a predicate
[details]
|
(Iterable[A], Iterable[A]) | Iterable |
def print(sep : String)
Prints elements of this stream one by one, separated by
sep
[details]
|
Unit | ||
def print
Prints elements of this stream one by one, separated by commas
|
Unit | ||
| reduceLeft |
def reduceLeft[B >: A](op : (B, A) => B)
Combines the elements of this iterable object together using the binary
operator
op, from left to right
[details]
|
B | Iterable |
| reduceRight |
def reduceRight[B >: A](op : (A, B) => B)
Combines the elements of this iterable object together using the binary
operator
op, from right to left
[details]
|
B | Iterable |
| sameElements |
def sameElements[B >: A](that : Iterable[B])
Checks if the other iterable object contains the same elements
[details]
|
Boolean | Iterable |
| slice |
def slice(from : Int)
A sub-sequence starting at index
from
and extending up to the length of the current sequence (non-strict)
[details]
|
Seq[A] | Seq |
| slice |
def slice(from : Int, until : Int)
A sub-sequence starting at index
from
and ending (non-inclusive) at index until (non-strict)
[details]
|
Seq[A] | Seq |
| startsWith |
def startsWith[B](that : Seq[B])
Check whether the receiver object starts with the argument sequence
[details]
|
Boolean | Seq |
| startsWith |
def startsWith[B](that : Seq[B], offset : Int)
Checks whether the argument sequence is contained at the
specified index within the receiver object
[details]
If the both the receiver object,
this and
the argument, that are infinite sequences
this method may not terminate.
|
Boolean | Seq |
| subseq |
def subseq(from : Int, end : Int)
Returns a subsequence starting from index
from
consisting of len elements
[details]
|
Seq[A] | Seq |
| synchronized |
final def synchronized[T0](arg0 : T0)
|
T0 | AnyRef |
| take |
override def take(n : Int)
Returns the
n first elements of this stream, or else the whole
stream, if it has less than n elements
[details]
|
Stream[A] | |
| takeWhile |
override def takeWhile(p : (A) => Boolean)
Returns the longest prefix of this stream whose elements satisfy
the predicate
p
[details]
|
Stream[A] | |
| toArray |
override def toArray[B >: A]
Converts this sequence to a fresh Array with
length elements
|
Array[B] | Seq |
| toString |
override def toString
Converts stream to string
|
String | |
| wait |
final def wait
|
Unit | AnyRef |
| wait |
final def wait(arg0 : Long)
|
Unit | AnyRef |
| wait |
final def wait(arg0 : Long, arg1 : Int)
|
Unit | AnyRef |
| zip |
def zip[B](that : Stream[B])
Returns a stream formed from this stream and the specified stream
that by associating each element of the former with
the element at the same position in the latter
[details]
If one of the two streams is longer than the other, its remaining elements are ignored.
|
Stream[(A, B)] | |
| zipWithIndex |
def zipWithIndex
Returns a stream that pairs each element of this stream
with its index, counting from 0
[details]
|
Stream[(A, Int)] |
| OVERVIEW | PACKAGE | CONSTR | FIELDS | METHODS | FRAMES NO FRAMES | INHERITED |