com.github.andrewoma.dexx.collection
Interface Traversable<E>

All Known Subinterfaces:
IndexedList<E>, Iterable<E>, LinkedList<E>, List<E>, Map<K,V>, Set<E>, SortedMap<K,V>, SortedSet<E>
All Known Implementing Classes:
AbstractIndexedList, AbstractIterable, AbstractLinkedList, AbstractList, AbstractMap, AbstractSet, AbstractSortedMap, AbstractSortedSet, AbstractTraversable, ArrayList, ConsList, DerivedKeyHashMap, HashMap, HashSet, ListMap, MappedIterable, TreeMap, TreeSet, Vector

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.


Method Summary
<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.
 String makeString(String separator)
          Returns this collection converted to a string by joining elements together with the specified separator.
 String makeString(String separator, String prefix, String postfix, int limit, String truncated)
          Returns this collection converted to a string.
 int size()
          Returns the size of the collection.
<R extends Traversable<E>>
R
to(Builder<E,R> builder)
          Converts this collection to another collection using a builder.
 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(Comparator<? super E> comparator)
          Converts this collection to a sorted set.
 

Method Detail

forEach

<U> void forEach(@NotNull
                 Function<E,U> f)
All collection methods can be built upon this forEach definition.


size

int size()
Returns the size of the collection.

Warning: infinite collections are possible, as are collections that require traversal to calculate the size.


isEmpty

boolean isEmpty()
Returns true if this collection is empty.


makeString

@NotNull
String makeString(@NotNull
                          String separator)
Returns this collection converted to a string by joining elements together with the specified separator.


makeString

@NotNull
String makeString(@NotNull
                          String separator,
                          @NotNull
                          String prefix,
                          @NotNull
                          String postfix,
                          int limit,
                          @NotNull
                          String truncated)
Returns this collection converted to a string.

Parameters:
separator - Specifies the joining character
prefix - Specifies a prefix to the string
postfix - Species a postfix to the string
limit - 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.

to

@NotNull
<R extends Traversable<E>> R to(@NotNull
                                        Builder<E,R> builder)
Converts this collection to another collection using a builder.


toSet

@NotNull
Set<E> toSet()
Converts this collection to a set.


toSortedSet

@NotNull
SortedSet<E> toSortedSet(Comparator<? super E> comparator)
Converts this collection to a sorted set.


toIndexedList

@NotNull
IndexedList<E> toIndexedList()
Converts this collection to an indexed list.


toArray

@NotNull
Object[] toArray()
Converts this collection to an array of objects.


toArray

@NotNull
E[] toArray(E[] array)
Converts this collection to an array of objects of the correct type.



Copyright © 2014. All Rights Reserved.