|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectedu.rice.cs.plt.iter.AbstractIterable<T>
edu.rice.cs.plt.iter.ComposedIterable<T>
public class ComposedIterable<T>
Defines an iterable by composing two other iterables (or a value with an iterable). Subsequent changes to the input lists will be reflected.
| Constructor Summary | |
|---|---|
ComposedIterable(Iterable<? extends T> i1,
Iterable<? extends T> i2)
The result contains i1's elements followed by i2's elements. |
|
ComposedIterable(Iterable<? extends T> i1,
T v2)
The result contains i1's elements followed by v2 |
|
ComposedIterable(T v1,
Iterable<? extends T> i2)
The result contains v1 followed by i2's elements |
|
| Method Summary | ||
|---|---|---|
int |
compositeHeight()
Get the maximum path length from this node to a leaf. |
|
int |
compositeSize()
Get the number of nodes in the tree rooted at this node. |
|
boolean |
hasFixedSize()
true if this iterable is known to have a fixed size. |
|
boolean |
isEmpty()
Whether the iterable does not contain any elements. |
|
boolean |
isInfinite()
true if the iterable is known to have infinite size. |
|
boolean |
isStatic()
true if this iterable is unchanging. |
|
ComposedIterator<T> |
iterator()
|
|
T |
last()
Determine the last value in the iterable. |
|
static
|
make(Iterable<? extends T> i1,
Iterable<? extends T> i2)
Call the constructor (allows T to be inferred) |
|
static
|
make(Iterable<? extends T> i1,
T v2)
Call the constructor (allows T to be inferred) |
|
static
|
make(T v1,
Iterable<? extends T> i2)
Call the constructor (allows T to be inferred) |
|
int |
size()
Compute the number of elements in the iterable. |
|
int |
size(int bound)
Compute the number of elements in the iterable, up to the given bound. |
|
| Methods inherited from class edu.rice.cs.plt.iter.AbstractIterable |
|---|
equals, hashCode, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public ComposedIterable(Iterable<? extends T> i1,
Iterable<? extends T> i2)
i1's elements followed by i2's elements.
public ComposedIterable(T v1,
Iterable<? extends T> i2)
v1 followed by i2's elements
public ComposedIterable(Iterable<? extends T> i1,
T v2)
i1's elements followed by v2
| Method Detail |
|---|
public ComposedIterator<T> iterator()
iterator in interface Iterable<T>public int compositeHeight()
Composite
compositeHeight in interface Compositepublic int compositeSize()
Composite
compositeSize in interface Compositepublic boolean isEmpty()
SizedIterable
isEmpty in interface SizedIterable<T>public int size()
SizedIterableint, Integer.MAX_VALUE should be returned. Otherwise, next() may be safely invoked
on the iterator exactly this number of times.
size in interface SizedIterable<T>public int size(int bound)
SizedIterablebound, bound is returned.
size in interface SizedIterable<T>bound - Maximum result. Assumed to be nonnegative.public boolean isInfinite()
SizedIterabletrue if the iterable is known to have infinite size. If true, an iterator over the iterable in its
current state will never return false from hasNext().
isInfinite in interface SizedIterable<T>public boolean hasFixedSize()
SizedIterabletrue if this iterable is known to have a fixed size. This is the case if the iterable is immutable,
or if changes can only replace values, not remove or add them. An infinite iterable may be fixed if it
is guaranteed to never become finite.
hasFixedSize in interface SizedIterable<T>public boolean isStatic()
SizedIterabletrue if this iterable is unchanging. This implies that hasFixedSize() is true, and that
iterator() will always return the same (either == or equal() and immutable) elements
in the same order. ("Immutable" here means that equals() invocations are consistent over time -- if
two objects are equal, they will never become inequal, and vice versa.)
isStatic in interface SizedIterable<T>public T last()
ComposedIterable tree, it takes log(n) time; if the right subtree is a singleton,
the result is computed trivially. (Note that the approach used avoids recursion in order
to prevent a stack overflow.)
last in interface OptimizedLastIterable<T>
public static <T> ComposedIterable<T> make(Iterable<? extends T> i1,
Iterable<? extends T> i2)
T to be inferred)
public static <T> ComposedIterable<T> make(T v1,
Iterable<? extends T> i2)
T to be inferred)
public static <T> ComposedIterable<T> make(Iterable<? extends T> i1,
T v2)
T to be inferred)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||