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
,Cons
,ConsList
,DerivedKeyHashMap
,HashMap
,HashSet
,ListMap
,ListMap.Node
,MappedIterable
,Nil
,TreeMap
,TreeSet
,Vector
public interface Traversable<E>
Traversable
is the root of the collection hierarchy.Traversable
allows collections to be defined by aforEach(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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <U> void
forEach(@NotNull Function<E,U> f)
All collection methods can be built upon thisforEach
definition.boolean
isEmpty()
Returns true if this collection is empty.@NotNull java.lang.String
makeString(@NotNull java.lang.String separator)
Returns this collection converted to a string by joining elements together with the specifiedseparator
.@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)
Returns this collection converted to a string.int
size()
Returns the size of the collection.<R extends Traversable<E>>
Rto(@NotNull Builder<E,R> builder)
Converts this collection to another collection using a builder.@NotNull java.lang.Object[]
toArray()
Converts this collection to an array of objects.@NotNull E[]
toArray(E[] array)
Converts this collection to an array of objects of the correct type.@NotNull IndexedList<E>
toIndexedList()
Converts this collection to an indexed list.@NotNull Set<E>
toSet()
Converts this collection to a set.@NotNull SortedSet<E>
toSortedSet(java.util.Comparator<? super E> comparator)
Converts this collection to a sorted set.
-
-
-
Method Detail
-
forEach
<U> void forEach(@NotNull @NotNull Function<E,U> f)
All collection methods can be built upon thisforEach
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 @NotNull java.lang.String makeString(@NotNull @NotNull java.lang.String separator)
Returns this collection converted to a string by joining elements together with the specifiedseparator
.
-
makeString
@NotNull @NotNull java.lang.String makeString(@NotNull @NotNull java.lang.String separator, @NotNull @NotNull java.lang.String prefix, @NotNull @NotNull java.lang.String postfix, int limit, @NotNull @NotNull java.lang.String truncated)
Returns this collection converted to a string.- Parameters:
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, thetruncated
value will be appended to indicate the limit was reached.
-
to
@NotNull <R extends Traversable<E>> R to(@NotNull @NotNull Builder<E,R> builder)
Converts this collection to another collection using a builder.
-
toSortedSet
@NotNull @NotNull SortedSet<E> toSortedSet(java.util.Comparator<? super E> comparator)
Converts this collection to a sorted set.
-
toIndexedList
@NotNull @NotNull IndexedList<E> toIndexedList()
Converts this collection to an indexed list.
-
toArray
@NotNull @NotNull java.lang.Object[] toArray()
Converts this collection to an array of objects.
-
-