Class ConsList<E>
java.lang.Object
com.github.andrewoma.dexx.collection.internal.base.AbstractTraversable<E>
com.github.andrewoma.dexx.collection.internal.base.AbstractIterable<E>
com.github.andrewoma.dexx.collection.internal.base.AbstractList<E>
com.github.andrewoma.dexx.collection.internal.base.AbstractLinkedList<E>
com.github.andrewoma.dexx.collection.ConsList<E>
- All Implemented Interfaces:
Iterable<E>
,LinkedList<E>
,List<E>
,Traversable<E>
,Iterable<E>
ConsList
is a functional LinkedList
implementation
that constructs a list by prepending an element to another list.
WARNING: Appending to a ConsList
results in copying the entire list - always
use a Builder
when appending. Likewise,
operations like set(int, Object)
will result in copying portions of the list.
If there is any doubt as to the access patterns for using a List
, use a Vector
instead.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns a list with the specified element appended to the bottom of the list.drop
(int number) Returns a list containing all elements in this list, excluding the firstnumber
of elements.static <E> ConsList
<E> empty()
static <E> @NotNull BuilderFactory
<E, ConsList<E>> factory()
iterator()
Returns a list with the specified element prepended to the top of the list.range
(int from, boolean fromInclusive, int to, boolean toInclusive) Returns a list containing a contiguous range of elements from this list.Returns a list with the element set to the value specified at the index (zero-based).tail()
Returns a list containing all elements in the list, excluding the first element.take
(int number) Returns a list containing the firstnumber
of elements from this list.Methods inherited from class com.github.andrewoma.dexx.collection.internal.base.AbstractList
asList, equals, hashCode, indexOf, lastIndexOf
Methods inherited from class com.github.andrewoma.dexx.collection.internal.base.AbstractIterable
forEach
Methods inherited from class com.github.andrewoma.dexx.collection.internal.base.AbstractTraversable
isEmpty, makeString, makeString, size, to, toArray, toArray, toIndexedList, toSet, toSortedSet, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
Methods inherited from interface com.github.andrewoma.dexx.collection.List
asList, first, get, indexOf, last, lastIndexOf
Methods inherited from interface com.github.andrewoma.dexx.collection.Traversable
forEach, isEmpty, makeString, makeString, size, to, toArray, toArray, toIndexedList, toSet, toSortedSet
-
Field Details
-
EMPTY
-
-
Constructor Details
-
ConsList
public ConsList()
-
-
Method Details
-
factory
-
empty
-
prepend
Description copied from interface:List
Returns a list with the specified element prepended to the top of the list. -
append
Description copied from interface:List
Returns a list with the specified element appended to the bottom of the list. -
iterator
-
range
@NotNull public abstract @NotNull ConsList<E> range(int from, boolean fromInclusive, int to, boolean toInclusive) Description copied from interface:List
Returns a list containing a contiguous range of elements from this list.- Parameters:
from
- starting index for the range (zero-based)fromInclusive
- if true, the element at thefrom
index will be includedto
- end index for the range (zero-based)toInclusive
- if true, the element at theto
index will be included
-
tail
Description copied from interface:List
Returns a list containing all elements in the list, excluding the first element. An empty list is returned if the list is empty. -
take
Description copied from interface:List
Returns a list containing the firstnumber
of elements from this list. -
drop
Description copied from interface:List
Returns a list containing all elements in this list, excluding the firstnumber
of elements. -
set
Description copied from interface:List
Returns a list with the element set to the value specified at the index (zero-based).
-