public interface Traversable<E>
Traversable is the root of the collection hierarchy.
Traversable allows collections to be defined by a forEach(Function) method and without an
iterator. forEach(Function) can be a lot simpler to implement for tree-like structure and also offers
a more direct method of traversal for such structures.
| Modifier and Type | Method and Description |
|---|---|
<U> void |
forEach(Function<E,U> f)
All collection methods can be built upon this
forEach definition. |
boolean |
isEmpty()
Returns true if this collection is empty.
|
java.lang.String |
makeString(java.lang.String separator)
Returns this collection converted to a string by joining elements together with the specified
separator. |
java.lang.String |
makeString(java.lang.String separator,
java.lang.String prefix,
java.lang.String postfix,
int limit,
java.lang.String truncated)
Returns this collection converted to a string.
|
int |
size()
Returns the size of the collection.
|
<R extends Traversable<E>> |
to(Builder<E,R> builder)
Converts this collection to another collection using a builder.
|
java.lang.Object[] |
toArray()
Converts this collection to an array of objects.
|
E[] |
toArray(E[] array)
Converts this collection to an array of objects of the correct type.
|
IndexedList<E> |
toIndexedList()
Converts this collection to an indexed list.
|
Set<E> |
toSet()
Converts this collection to a set.
|
SortedSet<E> |
toSortedSet(java.util.Comparator<? super E> comparator)
Converts this collection to a sorted set.
|
<U> void forEach(@NotNull
Function<E,U> f)
forEach definition.int size()
Warning: infinite collections are possible, as are collections that require traversal to calculate the size.
boolean isEmpty()
@NotNull
java.lang.String makeString(@NotNull
java.lang.String separator)
separator.@NotNull
java.lang.String makeString(@NotNull
java.lang.String separator,
@NotNull
java.lang.String prefix,
@NotNull
java.lang.String postfix,
int limit,
@NotNull
java.lang.String truncated)
separator - Specifies the joining characterprefix - Specifies a prefix to the stringpostfix - Species a postfix to the stringlimit - Specifies the maximum number of elements to join. If the limit is exceeded, additional elements are ignored.truncated - If the limit is reached, the truncated value will be appended to indicate the limit was reached.@NotNull <R extends Traversable<E>> R to(@NotNull Builder<E,R> builder)
@NotNull SortedSet<E> toSortedSet(java.util.Comparator<? super E> comparator)
@NotNull IndexedList<E> toIndexedList()
@NotNull java.lang.Object[] toArray()