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 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
Modifier and TypeMethodDescription<U> void
All collection methods can be built upon thisforEach
definition.boolean
isEmpty()
Returns true if this collection is empty.@NotNull String
makeString
(@NotNull String separator) Returns this collection converted to a string by joining elements together with the specifiedseparator
.@NotNull String
makeString
(@NotNull String separator, @NotNull String prefix, @NotNull String postfix, int limit, @NotNull String truncated) Returns this collection converted to a string.int
size()
Returns the size of the collection.<R extends Traversable<E>>
RConverts this collection to another collection using a builder.@NotNull Object[]
toArray()
Converts this collection to an array of objects.E[]
Converts this collection to an array of objects of the correct type.@NotNull IndexedList
<E> Converts this collection to an indexed list.toSet()
Converts this collection to a set.toSortedSet
(Comparator<? super E> comparator) Converts this collection to a sorted set.
-
Method Details
-
forEach
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
Returns this collection converted to a string by joining elements together with the specifiedseparator
. -
makeString
@NotNull @NotNull String makeString(@NotNull @NotNull String separator, @NotNull @NotNull String prefix, @NotNull @NotNull String postfix, int limit, @NotNull @NotNull 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
Converts this collection to another collection using a builder. -
toSet
Converts this collection to a set. -
toSortedSet
Converts this collection to a sorted set. -
toIndexedList
Converts this collection to an indexed list. -
toArray
Converts this collection to an array of objects. -
toArray
Converts this collection to an array of objects of the correct type.
-