Class FastList<T>
- java.lang.Object
-
- org.eclipse.collections.impl.AbstractRichIterable<T>
-
- org.eclipse.collections.impl.collection.mutable.AbstractMutableCollection<T>
-
- org.eclipse.collections.impl.list.mutable.AbstractMutableList<T>
-
- org.eclipse.collections.impl.list.mutable.FastList<T>
-
- All Implemented Interfaces:
java.io.Externalizable
,java.io.Serializable
,java.lang.Cloneable
,java.lang.Iterable<T>
,java.util.Collection<T>
,java.util.List<T>
,java.util.RandomAccess
,MutableCollection<T>
,InternalIterable<T>
,ListIterable<T>
,MutableList<T>
,OrderedIterable<T>
,ReversibleIterable<T>
,RichIterable<T>
,BatchIterable<T>
public class FastList<T> extends AbstractMutableList<T> implements java.io.Externalizable, java.util.RandomAccess, BatchIterable<T>
FastList is an attempt to provide the same functionality as ArrayList without the support for concurrent modification exceptions. It also attempts to correct the problem with subclassing ArrayList in that the data elements are protected, not private. It is this issue that caused this class to be created in the first place. The intent was to provide optimized internal iterators which use direct access against the array of items, which is currently not possible by subclassing ArrayList.An empty FastList created by calling the default constructor starts with a shared reference to a static empty array (DEFAULT_SIZED_EMPTY_ARRAY). This makes empty FastLists very memory efficient. The first call to add will lazily create an array of size 10.
An empty FastList created by calling the pre-size constructor with a value of 0 (new FastList(0)) starts with a shared reference to a static empty array (ZERO_SIZED_ARRAY). This makes FastLists presized to 0 very memory efficient as well. The first call to add will lazily create an array of size 1.
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.collections.impl.list.mutable.AbstractMutableList
AbstractMutableList.SubList<T>
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.Object[]
DEFAULT_SIZED_EMPTY_ARRAY
protected T[]
items
private static int
MAXIMUM_ARRAY_SIZE
private static long
serialVersionUID
protected int
size
private static java.lang.Object[]
ZERO_SIZED_ARRAY
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(int index, T element)
boolean
add(T newItem)
boolean
addAll(int index, java.util.Collection<? extends T> source)
boolean
addAll(java.util.Collection<? extends T> source)
private void
addAllArrayList(java.util.ArrayList<T> source)
private void
addAllArrayListAtIndex(java.util.ArrayList<T> source, int index)
private void
addAllCollection(java.util.Collection<? extends T> source)
private void
addAllCollectionAtIndex(java.util.Collection<? extends T> source, int index)
private void
addAllFastList(FastList<T> source)
private void
addAllFastListAtIndex(FastList<T> source, int index)
private void
addAllRandomAccessList(java.util.List<T> source)
private void
addAllRandomAccessListAtIndex(java.util.List<T> source, int index)
private void
addAtIndex(int index, T element)
boolean
allSatisfy(Predicate<? super T> predicate)
Returns true if the predicate evaluates to true for every element of the iterable or if the iterable is empty.<P> boolean
allSatisfyWith(Predicate2<? super T,? super P> predicate, P parameter)
Returns true if the predicate evaluates to true for every element of the collection, or returns false.boolean
anySatisfy(Predicate<? super T> predicate)
Returns true if the predicate evaluates to true for any element of the iterable.<P> boolean
anySatisfyWith(Predicate2<? super T,? super P> predicate, P parameter)
Returns true if the predicate evaluates to true for any element of the collection, or return false.void
appendString(java.lang.Appendable appendable, java.lang.String start, java.lang.String separator, java.lang.String end)
Prints a string representation of this collection onto the givenAppendable
.void
batchForEach(Procedure<? super T> procedure, int sectionIndex, int sectionCount)
void
clear()
FastList<T>
clone()
<V> FastList<V>
collect(Function<? super T,? extends V> function)
Returns a new MutableCollection with the results of applying the specified function to each element of the source collection.<V,R extends java.util.Collection<V>>
Rcollect(Function<? super T,? extends V> function, R target)
Same asRichIterable.collect(Function)
, except that the results are gathered into the specifiedtarget
collection.<R extends MutableBooleanCollection>
RcollectBoolean(BooleanFunction<? super T> booleanFunction, R target)
Same asRichIterable.collectBoolean(BooleanFunction)
, except that the results are gathered into the specifiedtarget
collection.<R extends MutableByteCollection>
RcollectByte(ByteFunction<? super T> byteFunction, R target)
Same asRichIterable.collectByte(ByteFunction)
, except that the results are gathered into the specifiedtarget
collection.<R extends MutableCharCollection>
RcollectChar(CharFunction<? super T> charFunction, R target)
Same asRichIterable.collectChar(CharFunction)
, except that the results are gathered into the specifiedtarget
collection.<R extends MutableDoubleCollection>
RcollectDouble(DoubleFunction<? super T> doubleFunction, R target)
Same asRichIterable.collectDouble(DoubleFunction)
, except that the results are gathered into the specifiedtarget
collection.<R extends MutableFloatCollection>
RcollectFloat(FloatFunction<? super T> floatFunction, R target)
Same asRichIterable.collectFloat(FloatFunction)
, except that the results are gathered into the specifiedtarget
collection.<V> FastList<V>
collectIf(Predicate<? super T> predicate, Function<? super T,? extends V> function)
Returns a new MutableCollection with the results of applying the specified function to each element of the source collection, but only for elements that evaluate to true for the specified predicate.<V,R extends java.util.Collection<V>>
RcollectIf(Predicate<? super T> predicate, Function<? super T,? extends V> function, R target)
Same as the collectIf method with two parameters but uses the specified target collection for the results.<R extends MutableIntCollection>
RcollectInt(IntFunction<? super T> intFunction, R target)
Same asRichIterable.collectInt(IntFunction)
, except that the results are gathered into the specifiedtarget
collection.<R extends MutableLongCollection>
RcollectLong(LongFunction<? super T> longFunction, R target)
Same asRichIterable.collectLong(LongFunction)
, except that the results are gathered into the specifiedtarget
collection.<R extends MutableShortCollection>
RcollectShort(ShortFunction<? super T> shortFunction, R target)
Same asRichIterable.collectShort(ShortFunction)
, except that the results are gathered into the specifiedtarget
collection.<P,V>
FastList<V>collectWith(Function2<? super T,? super P,? extends V> function, P parameter)
Same asRichIterable.collect(Function)
with aFunction2
and specified parameter which is passed to the block.<P,V,R extends java.util.Collection<V>>
RcollectWith(Function2<? super T,? super P,? extends V> function, P parameter, R target)
Same as collectWith but with a targetCollection parameter to gather the results.<V> MutableList<V>
collectWithIndex(ObjectIntToObjectFunction<? super T,? extends V> function)
Returns a new OrderedIterable using results obtained by applying the specified function to each element and its corresponding index.<V,R extends java.util.Collection<V>>
RcollectWithIndex(ObjectIntToObjectFunction<? super T,? extends V> function, R target)
Adds elements to the target Collection using results obtained by applying the specified function to each element and its corresponding index.boolean
containsAll(java.util.Collection<?> source)
Returns true if all elements in source are contained in this collection.boolean
containsAllArguments(java.lang.Object... source)
Returns true if all elements in the specified var arg array are contained in this collection.private java.lang.Object[]
copyItemsWithNewCapacity(int newCapacity)
<S> boolean
corresponds(OrderedIterable<S> other, Predicate2<? super T,? super S> predicate)
Returns true if both OrderedIterables have the same length andpredicate
returns true for all corresponding elements e1 of thisOrderedIterable
and e2 ofother
.int
count(Predicate<? super T> predicate)
Return the total number of elements that answer true to the specified predicate.<P> int
countWith(Predicate2<? super T,? super P> predicate, P parameter)
Returns the total number of elements that evaluate to true for the specified predicate.T
detect(Predicate<? super T> predicate)
Returns the first element of the iterable for which the predicate evaluates to true or null in the case where no element returns true.int
detectIndex(Predicate<? super T> predicate)
Returns the index of the first element of theOrderedIterable
for which thepredicate
evaluates to true.int
detectLastIndex(Predicate<? super T> predicate)
Returns the index of the last element of theReversibleIterable
for which thepredicate
evaluates to true.private int
detectNotIndex(Predicate<? super T> predicate)
java.util.Optional<T>
detectOptional(Predicate<? super T> predicate)
Returns the first element of the iterable for which the predicate evaluates to true as an Optional.<P> T
detectWith(Predicate2<? super T,? super P> predicate, P parameter)
Returns the first element that evaluates to true for the specified predicate2 and parameter, or null if none evaluate to true.<P> java.util.Optional<T>
detectWithOptional(Predicate2<? super T,? super P> predicate, P parameter)
Returns the first element that evaluates to true for the specified predicate2 and parameter as an Optional.MutableList<T>
distinct()
Returns a newListIterable
containing the distinct elements in this list.MutableList<T>
distinct(HashingStrategy<? super T> hashingStrategy)
Returns a newListIterable
containing the distinct elements in this list.MutableList<T>
drop(int count)
Returns an iterable after skipping the firstcount
elements or an empty iterable if thecount
is greater than the length of the iterable.MutableList<T>
dropWhile(Predicate<? super T> predicate)
Returns the final elements that do not satisfy the Predicate.void
each(Procedure<? super T> procedure)
The procedure is executed for each element in the iterable.void
ensureCapacity(int minCapacity)
private void
ensureCapacityForAdd()
private int
ensureCapacityForAddAll(java.util.Collection<T> source)
boolean
equals(java.lang.Object that)
Follows the same general contract asList.equals(Object)
.boolean
fastListEquals(FastList<?> that)
<V> FastList<V>
flatCollect(Function<? super T,? extends java.lang.Iterable<V>> function)
flatCollect
is a special case ofRichIterable.collect(Function)
.<V,R extends java.util.Collection<V>>
RflatCollect(Function<? super T,? extends java.lang.Iterable<V>> function, R target)
Same as flatCollect, only the results are collected into the target collection.<R extends MutableBooleanCollection>
RflatCollectBoolean(Function<? super T,? extends BooleanIterable> function, R target)
Same as flatCollect, only the results are collected into the target collection.<R extends MutableByteCollection>
RflatCollectByte(Function<? super T,? extends ByteIterable> function, R target)
Same as flatCollect, only the results are collected into the target collection.<R extends MutableCharCollection>
RflatCollectChar(Function<? super T,? extends CharIterable> function, R target)
Same as flatCollect, only the results are collected into the target collection.<R extends MutableDoubleCollection>
RflatCollectDouble(Function<? super T,? extends DoubleIterable> function, R target)
Same as flatCollect, only the results are collected into the target collection.<R extends MutableFloatCollection>
RflatCollectFloat(Function<? super T,? extends FloatIterable> function, R target)
Same as flatCollect, only the results are collected into the target collection.<R extends MutableIntCollection>
RflatCollectInt(Function<? super T,? extends IntIterable> function, R target)
Same as flatCollect, only the results are collected into the target collection.<R extends MutableLongCollection>
RflatCollectLong(Function<? super T,? extends LongIterable> function, R target)
Same as flatCollect, only the results are collected into the target collection.<R extends MutableShortCollection>
RflatCollectShort(Function<? super T,? extends ShortIterable> function, R target)
Same as flatCollect, only the results are collected into the target collection.void
forEach(int from, int to, Procedure<? super T> procedure)
Iterates over the section of the iterable covered by the specified inclusive indexes.void
forEachIf(Predicate<? super T> predicate, Procedure<? super T> procedure)
<P> void
forEachWith(Procedure2<? super T,? super P> procedure, P parameter)
The procedure2 is evaluated for each element in the iterable with the specified parameter provided as the second argument.void
forEachWithIndex(int from, int to, ObjectIntProcedure<? super T> objectIntProcedure)
Iterates over the section of the iterable covered by the specified inclusive indexes.void
forEachWithIndex(ObjectIntProcedure<? super T> objectIntProcedure)
Iterates over the iterable passing each element and the current relative int index to the specified instance of ObjectIntProcedure.T
get(int index)
Returns the item at the specified position in this list iterable.int
getBatchCount(int batchSize)
T
getFirst()
Returns the first element of an iterable.T
getLast()
Returns the last element of an iterable.<V> FastListMultimap<V,T>
groupBy(Function<? super T,? extends V> function)
For each element of the iterable, the function is evaluated and the results of these evaluations are collected into a new multimap, where the transformed value is the key and the original values are added to the same (or similar) species of collection as the source iterable.<V,R extends MutableMultimap<V,T>>
RgroupBy(Function<? super T,? extends V> function, R target)
Same asRichIterable.groupBy(Function)
, except that the results are gathered into the specifiedtarget
multimap.<V> FastListMultimap<V,T>
groupByEach(Function<? super T,? extends java.lang.Iterable<V>> function)
Similar toRichIterable.groupBy(Function)
, except the result of evaluating function will return a collection of keys for each value.<V,R extends MutableMultimap<V,T>>
RgroupByEach(Function<? super T,? extends java.lang.Iterable<V>> function, R target)
Same asRichIterable.groupByEach(Function)
, except that the results are gathered into the specifiedtarget
multimap.<K> MutableMap<K,T>
groupByUniqueKey(Function<? super T,? extends K> function)
For each element of the iterable, the function is evaluated, and the results of these evaluations are collected into a new map, where the transformed value is the key.<K,R extends MutableMapIterable<K,T>>
RgroupByUniqueKey(Function<? super T,? extends K> function, R target)
Same asRichIterable.groupByUniqueKey(Function)
, except that the results are gathered into the specifiedtarget
map.int
hashCode()
Follows the same general contract asList.hashCode()
.int
indexOf(java.lang.Object object)
Returns the index of the first occurrence of the specified item in this iterable, or -1 if this iterable does not contain the item.double
injectInto(double injectedValue, DoubleObjectToDoubleFunction<? super T> function)
Returns the final double result of evaluating function using each element of the iterable and the previous evaluation result as the parameters.float
injectInto(float injectedValue, FloatObjectToFloatFunction<? super T> function)
Returns the final float result of evaluating function using each element of the iterable and the previous evaluation result as the parameters.int
injectInto(int injectedValue, IntObjectToIntFunction<? super T> function)
Returns the final int result of evaluating function using each element of the iterable and the previous evaluation result as the parameters.long
injectInto(long injectedValue, LongObjectToLongFunction<? super T> function)
Returns the final long result of evaluating function using each element of the iterable and the previous evaluation result as the parameters.<IV> IV
injectInto(IV injectedValue, Function2<? super IV,? super T,? extends IV> function)
Returns the final result of evaluating function using each element of the iterable and the previous evaluation result as the parameters.<IV,P>
IVinjectIntoWith(IV injectValue, Function3<? super IV,? super T,? super P,? extends IV> function, P parameter)
Returns the final result of evaluating function using each element of the iterable, the previous evaluation result and the parameters.int
lastIndexOf(java.lang.Object object)
Returns the index of the last occurrence of the specified item in this list, or -1 if this list does not contain the item.T
max()
Returns the maximum element out of this container based on the natural order.T
max(java.util.Comparator<? super T> comparator)
Returns the maximum element out of this container based on the comparator.<V extends java.lang.Comparable<? super V>>
TmaxBy(Function<? super T,? extends V> function)
Returns the maximum elements out of this container based on the natural order of the attribute returned by Function.T
min()
Returns the minimum element out of this container based on the natural order.T
min(java.util.Comparator<? super T> comparator)
Returns the minimum element out of this container based on the comparator.<V extends java.lang.Comparable<? super V>>
TminBy(Function<? super T,? extends V> function)
Returns the minimum elements out of this container based on the natural order of the attribute returned by Function.private java.lang.IndexOutOfBoundsException
newIndexOutOfBoundsException(int index)
static <E> FastList<E>
newList()
static <E> FastList<E>
newList(int initialCapacity)
static <E> FastList<E>
newList(java.lang.Iterable<? extends E> source)
static <E> FastList<E>
newListWith(E... elements)
Creates a new list using the passedelements
argument as the backing store.static <E> FastList<E>
newWithNValues(int size, Function0<? extends E> factory)
Creates a new FastList pre-sized to the specified size filled with default values generated by the specified function.boolean
noneSatisfy(Predicate<? super T> predicate)
Returns true if the predicate evaluates to false for every element of the iterable or if the iterable is empty.<P> boolean
noneSatisfyWith(Predicate2<? super T,? super P> predicate, P parameter)
Returns true if the predicate evaluates to false for every element of the collection, or return false.PartitionFastList<T>
partition(Predicate<? super T> predicate)
Filters a collection into a PartitionedIterable based on the evaluation of the predicate.PartitionMutableList<T>
partitionWhile(Predicate<? super T> predicate)
Returns a Partition of the initial elements that satisfy the Predicate and the remaining elements.<P> PartitionFastList<T>
partitionWith(Predicate2<? super T,? super P> predicate, P parameter)
Filters a collection into a PartitionIterable based on the evaluation of the predicate.void
readExternal(java.io.ObjectInput in)
java.util.Optional<T>
reduce(java.util.function.BinaryOperator<T> accumulator)
This method produces the equivalent result asStream.reduce(BinaryOperator)
.<R> R
reduceInPlace(java.util.function.Supplier<R> supplier, java.util.function.BiConsumer<R,? super T> accumulator)
This method produces the equivalent result asStream.collect(Supplier, BiConsumer, BiConsumer)
.<R,A>
RreduceInPlace(java.util.stream.Collector<? super T,A,R> collector)
This method produces the equivalent result asStream.collect(Collector)
.FastList<T>
reject(Predicate<? super T> predicate)
Returns a MutableCollection with all elements that evaluate to false for the specified predicate.<R extends java.util.Collection<T>>
Rreject(Predicate<? super T> predicate, R target)
Same as the reject method with one parameter but uses the specified target collection for the results.<P> FastList<T>
rejectWith(Predicate2<? super T,? super P> predicate, P parameter)
Returns a MutableCollection with all elements that evaluate to false for the specified predicate2 and parameter.<P,R extends java.util.Collection<T>>
RrejectWith(Predicate2<? super T,? super P> predicate, P parameter, R target)
Similar toRichIterable.reject(Predicate, Collection)
, except with an evaluation parameter for the second generic argument inPredicate2
.MutableList<T>
rejectWithIndex(ObjectIntPredicate<? super T> predicate)
Returns a new MutableList with all elements of the collection that return false when evaluating the specified predicate which is supplied each element and its relative index.<R extends java.util.Collection<T>>
RrejectWithIndex(ObjectIntPredicate<? super T> predicate, R target)
Adds all elements to the target Collection that return false when evaluating the specified predicate which is supplied each element and its relative index.T
remove(int index)
boolean
remove(java.lang.Object object)
boolean
removeIf(Predicate<? super T> predicate)
Removes all elements in the collection that evaluate to true for the specified predicate.<P> boolean
removeIfWith(Predicate2<? super T,? super P> predicate, P parameter)
Removes all elements in the collection that evaluate to true for the specified predicate2 and parameter.void
replaceAll(java.util.function.UnaryOperator<T> operator)
FastList<T>
reverseThis()
Mutates this list by reversing its order and returns the current list as a result.FastList<T>
select(Predicate<? super T> predicate)
Returns a MutableCollection with all elements that evaluate to true for the specified predicate.<R extends java.util.Collection<T>>
Rselect(Predicate<? super T> predicate, R target)
Same as the select method with one parameter but uses the specified target collection for the results.<P> Twin<MutableList<T>>
selectAndRejectWith(Predicate2<? super T,? super P> predicate, P parameter)
Filters a collection into two separate collections based on a predicate returned via a Pair.<S> FastList<S>
selectInstancesOf(java.lang.Class<S> clazz)
Returns all elements of the source collection that are instances of the Classclazz
.<P> FastList<T>
selectWith(Predicate2<? super T,? super P> predicate, P parameter)
Returns a MutableCollection with all elements that evaluate to true for the specified predicate2 and parameter.<P,R extends java.util.Collection<T>>
RselectWith(Predicate2<? super T,? super P> predicate, P parameter, R target)
Similar toRichIterable.select(Predicate, Collection)
, except with an evaluation parameter for the second generic argument inPredicate2
.MutableList<T>
selectWithIndex(ObjectIntPredicate<? super T> predicate)
Returns a new MutableList with all elements of the collection that return true when evaluating the specified predicate which is supplied each element and its relative index.<R extends java.util.Collection<T>>
RselectWithIndex(ObjectIntPredicate<? super T> predicate, R target)
Adds all elements to the target Collection that return true when evaluating the specified predicate which is supplied each element and its relative index.T
set(int index, T element)
private void
shiftElementsAtIndex(int index, int sourceSize)
int
size()
Returns the number of items in this iterable.private int
sizePlusFiftyPercent(int oldSize)
void
sort(java.util.Comparator<? super T> comparator)
Overrides default method from List.FastList<T>
sortThis()
Sorts the internal data structure of this list and returns the list itself as a convenience.FastList<T>
sortThis(java.util.Comparator<? super T> comparator)
Sorts the internal data structure of this list and returns the list itself as a convenience.java.util.Spliterator<T>
spliterator()
<V> MutableObjectDoubleMap<V>
sumByDouble(Function<? super T,? extends V> groupBy, DoubleFunction<? super T> function)
Groups and sums the values using the two specified functions.<V> MutableObjectDoubleMap<V>
sumByFloat(Function<? super T,? extends V> groupBy, FloatFunction<? super T> function)
Groups and sums the values using the two specified functions.<V> MutableObjectLongMap<V>
sumByInt(Function<? super T,? extends V> groupBy, IntFunction<? super T> function)
Groups and sums the values using the two specified functions.<V> MutableObjectLongMap<V>
sumByLong(Function<? super T,? extends V> groupBy, LongFunction<? super T> function)
Groups and sums the values using the two specified functions.java.util.DoubleSummaryStatistics
summarizeDouble(DoubleFunction<? super T> function)
Returns the result of summarizing the value returned from applying the DoubleFunction to each element of the iterable.java.util.DoubleSummaryStatistics
summarizeFloat(FloatFunction<? super T> function)
Returns the result of summarizing the value returned from applying the FloatFunction to each element of the iterable.java.util.IntSummaryStatistics
summarizeInt(IntFunction<? super T> function)
Returns the result of summarizing the value returned from applying the IntFunction to each element of the iterable.java.util.LongSummaryStatistics
summarizeLong(LongFunction<? super T> function)
Returns the result of summarizing the value returned from applying the LongFunction to each element of the iterable.double
sumOfDouble(DoubleFunction<? super T> function)
Returns the final double result of evaluating function for each element of the iterable and adding the results together.double
sumOfFloat(FloatFunction<? super T> function)
Returns the final double result of evaluating function for each element of the iterable and adding the results together.long
sumOfInt(IntFunction<? super T> function)
Returns the final long result of evaluating function for each element of the iterable and adding the results together.long
sumOfLong(LongFunction<? super T> function)
Returns the final long result of evaluating function for each element of the iterable and adding the results together.MutableList<T>
take(int count)
Returns the firstcount
elements of the iterable or all the elements in the iterable ifcount
is greater than the length of the iterable.MutableList<T>
takeWhile(Predicate<? super T> predicate)
Returns the initial elements that satisfy the Predicate.private void
throwOutOfBounds(int index)
java.lang.Object[]
toArray()
Converts this iterable to an array.<E> E[]
toArray(int sourceFromIndex, int sourceToIndex)
<E> E[]
toArray(E[] array)
Converts this iterable to an array using the specified target array, assuming the target array is as long or longer than the iterable.<E> E[]
toArray(E[] array, int sourceFromIndex, int sourceToIndex, int destinationIndex)
FastList<T>
toList()
Converts the collection to a MutableList implementation.FastList<T>
toSortedList()
Converts the collection to a MutableList implementation and sorts it using the natural order of the elements.FastList<T>
toSortedList(java.util.Comparator<? super T> comparator)
Converts the collection to a MutableList implementation and sorts it using the specified comparator.T[]
toTypedArray(java.lang.Class<T> clazz)
private void
transferItemsToNewArrayWithCapacity(int newCapacity)
void
trimToSize()
boolean
trimToSizeIfGreaterThanPercent(double loadFactor)
Express load factor as 0.25 to trim a collection with more than 25% excess capacityprivate void
wipeAndResetTheEnd(int newCurrentFilledIndex)
FastList<T>
with(T... elements)
FastList<T>
with(T element1, T element2)
FastList<T>
with(T element1, T element2, T element3)
FastList<T>
withArrayCopy(T[] elements, int begin, int length)
static <E> FastList<E>
wrapCopy(E... array)
void
writeExternal(java.io.ObjectOutput out)
-
Methods inherited from class org.eclipse.collections.impl.list.mutable.AbstractMutableList
appendString, asParallel, asReversed, asSynchronized, asUnmodifiable, binarySearch, chunk, contains, distinctBy, iterator, listIterator, listIterator, newEmpty, removeAll, retainAll, sortThisByBoolean, sortThisByByte, sortThisByChar, sortThisByDouble, sortThisByFloat, sortThisByInt, sortThisByLong, sortThisByShort, subList, tap, toSet, zip, zip, zipWithIndex, zipWithIndex
-
Methods inherited from class org.eclipse.collections.impl.collection.mutable.AbstractMutableCollection
addAllIterable, countBy, countByEach, countByWith, removeAllIterable, retainAllIterable
-
Methods inherited from class org.eclipse.collections.impl.AbstractRichIterable
asLazy, containsAllIterable, detectWithIfNone, forEach, into, isEmpty, toBag, toBiMap, toMap, toSortedBag, toSortedBag, toSortedBagBy, toSortedListBy, toSortedMap, toSortedMap, toSortedMapBy, toSortedSet, toSortedSet, toSortedSetBy, toString
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.collections.impl.parallel.BatchIterable
forEach
-
Methods inherited from interface org.eclipse.collections.api.InternalIterable
forEach
-
Methods inherited from interface org.eclipse.collections.api.list.ListIterable
binarySearch, forEachInBoth
-
Methods inherited from interface org.eclipse.collections.api.collection.MutableCollection
addAllIterable, aggregateBy, aggregateInPlaceBy, countBy, countByEach, countByWith, removeAllIterable, retainAllIterable
-
Methods inherited from interface org.eclipse.collections.api.list.MutableList
collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectInt, collectLong, collectShort, flatCollectWith, shuffleThis, shuffleThis, sortThisBy, toImmutable, toImmutableList, toReversed, with, withAll, without, withoutAll
-
Methods inherited from interface org.eclipse.collections.api.ordered.OrderedIterable
getFirstOptional, getLastOptional, toStack
-
Methods inherited from interface org.eclipse.collections.api.ordered.ReversibleIterable
reverseForEach, reverseForEachWithIndex
-
Methods inherited from interface org.eclipse.collections.api.RichIterable
aggregateBy, appendString, asLazy, containsAllIterable, containsAny, containsAnyIterable, containsBy, containsNone, containsNoneIterable, countBy, countByEach, countByWith, detectIfNone, detectWithIfNone, flatCollectWith, forEach, getAny, getOnly, groupByAndCollect, injectIntoDouble, injectIntoFloat, injectIntoInt, injectIntoLong, into, isEmpty, makeString, makeString, makeString, makeString, maxByOptional, maxOptional, maxOptional, minByOptional, minOptional, minOptional, notEmpty, toBag, toBiMap, toImmutableBag, toImmutableBiMap, toImmutableMap, toImmutableSet, toImmutableSortedBag, toImmutableSortedBag, toImmutableSortedBagBy, toImmutableSortedList, toImmutableSortedList, toImmutableSortedListBy, toImmutableSortedSet, toImmutableSortedSet, toImmutableSortedSetBy, toMap, toMap, toSortedBag, toSortedBag, toSortedBagBy, toSortedListBy, toSortedMap, toSortedMap, toSortedMapBy, toSortedSet, toSortedSet, toSortedSetBy, toString
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
DEFAULT_SIZED_EMPTY_ARRAY
private static final java.lang.Object[] DEFAULT_SIZED_EMPTY_ARRAY
-
ZERO_SIZED_ARRAY
private static final java.lang.Object[] ZERO_SIZED_ARRAY
-
MAXIMUM_ARRAY_SIZE
private static final int MAXIMUM_ARRAY_SIZE
- See Also:
- Constant Field Values
-
size
protected int size
-
items
protected transient T[] items
-
-
Method Detail
-
newList
public static <E> FastList<E> newList()
-
wrapCopy
public static <E> FastList<E> wrapCopy(E... array)
-
newList
public static <E> FastList<E> newList(int initialCapacity)
-
newList
public static <E> FastList<E> newList(java.lang.Iterable<? extends E> source)
-
newListWith
public static <E> FastList<E> newListWith(E... elements)
Creates a new list using the passedelements
argument as the backing store.!!! WARNING: This method uses the passed in array, so can be very unsafe if the original array is held onto anywhere else. !!!
-
newWithNValues
public static <E> FastList<E> newWithNValues(int size, Function0<? extends E> factory)
Creates a new FastList pre-sized to the specified size filled with default values generated by the specified function.- Since:
- 3.0
-
clone
public FastList<T> clone()
- Specified by:
clone
in interfaceMutableList<T>
- Overrides:
clone
in classAbstractMutableList<T>
-
clear
public void clear()
-
forEach
public void forEach(int from, int to, Procedure<? super T> procedure)
Description copied from interface:OrderedIterable
Iterates over the section of the iterable covered by the specified inclusive indexes. The indexes are both inclusive.e.g. OrderedIterable<People> people = FastList.newListWith(ted, mary, bob, sally) people.forEach(0, 1, new Procedure<Person>() { public void value(Person person) { LOGGER.info(person.getName()); } });
This code would output ted and mary's names.
- Specified by:
forEach
in interfaceOrderedIterable<T>
- Overrides:
forEach
in classAbstractMutableList<T>
-
forEachWithIndex
public void forEachWithIndex(int from, int to, ObjectIntProcedure<? super T> objectIntProcedure)
Description copied from interface:OrderedIterable
Iterates over the section of the iterable covered by the specified inclusive indexes. The indexes are both inclusive.e.g. OrderedIterable<People> people = FastList.newListWith(ted, mary, bob, sally) people.forEachWithIndex(0, 1, new ObjectIntProcedure<Person>() { public void value(Person person, int index) { LOGGER.info(person.getName()); } });
This code would output ted and mary's names.
- Specified by:
forEachWithIndex
in interfaceOrderedIterable<T>
- Overrides:
forEachWithIndex
in classAbstractMutableList<T>
-
batchForEach
public void batchForEach(Procedure<? super T> procedure, int sectionIndex, int sectionCount)
- Specified by:
batchForEach
in interfaceBatchIterable<T>
-
getBatchCount
public int getBatchCount(int batchSize)
- Specified by:
getBatchCount
in interfaceBatchIterable<T>
-
toArray
public <E> E[] toArray(E[] array, int sourceFromIndex, int sourceToIndex, int destinationIndex)
-
toArray
public <E> E[] toArray(int sourceFromIndex, int sourceToIndex)
-
sort
public void sort(java.util.Comparator<? super T> comparator)
Overrides default method from List.- Specified by:
sort
in interfacejava.util.List<T>
- Since:
- 10.0 - Overridden for efficiency
-
sortThis
public FastList<T> sortThis(java.util.Comparator<? super T> comparator)
Description copied from interface:MutableList
Sorts the internal data structure of this list and returns the list itself as a convenience.- Specified by:
sortThis
in interfaceMutableList<T>
-
sortThis
public FastList<T> sortThis()
Description copied from interface:MutableList
Sorts the internal data structure of this list and returns the list itself as a convenience.- Specified by:
sortThis
in interfaceMutableList<T>
-
reverseThis
public FastList<T> reverseThis()
Description copied from interface:MutableList
Mutates this list by reversing its order and returns the current list as a result.- Specified by:
reverseThis
in interfaceMutableList<T>
-
addAll
public boolean addAll(java.util.Collection<? extends T> source)
- Specified by:
addAll
in interfacejava.util.Collection<T>
- Specified by:
addAll
in interfacejava.util.List<T>
- Overrides:
addAll
in classAbstractMutableCollection<T>
-
addAllArrayList
private void addAllArrayList(java.util.ArrayList<T> source)
-
addAllRandomAccessList
private void addAllRandomAccessList(java.util.List<T> source)
-
addAllCollection
private void addAllCollection(java.util.Collection<? extends T> source)
-
containsAll
public boolean containsAll(java.util.Collection<?> source)
Description copied from interface:RichIterable
Returns true if all elements in source are contained in this collection.- Specified by:
containsAll
in interfacejava.util.Collection<T>
- Specified by:
containsAll
in interfacejava.util.List<T>
- Specified by:
containsAll
in interfaceRichIterable<T>
- Overrides:
containsAll
in classAbstractMutableList<T>
- See Also:
Collection.containsAll(Collection)
-
containsAllArguments
public boolean containsAllArguments(java.lang.Object... source)
Description copied from interface:RichIterable
Returns true if all elements in the specified var arg array are contained in this collection.- Specified by:
containsAllArguments
in interfaceRichIterable<T>
- Overrides:
containsAllArguments
in classAbstractRichIterable<T>
-
toArray
public <E> E[] toArray(E[] array)
Description copied from interface:RichIterable
Converts this iterable to an array using the specified target array, assuming the target array is as long or longer than the iterable.- Specified by:
toArray
in interfacejava.util.Collection<T>
- Specified by:
toArray
in interfacejava.util.List<T>
- Specified by:
toArray
in interfaceRichIterable<T>
- Overrides:
toArray
in classAbstractRichIterable<T>
- See Also:
Collection.toArray(Object[])
-
toArray
public java.lang.Object[] toArray()
Description copied from interface:RichIterable
Converts this iterable to an array.- Specified by:
toArray
in interfacejava.util.Collection<T>
- Specified by:
toArray
in interfacejava.util.List<T>
- Specified by:
toArray
in interfaceRichIterable<T>
- Overrides:
toArray
in classAbstractRichIterable<T>
- See Also:
Collection.toArray()
-
throwOutOfBounds
private void throwOutOfBounds(int index)
-
indexOf
public int indexOf(java.lang.Object object)
Description copied from interface:OrderedIterable
Returns the index of the first occurrence of the specified item in this iterable, or -1 if this iterable does not contain the item.- Specified by:
indexOf
in interfacejava.util.List<T>
- Specified by:
indexOf
in interfaceOrderedIterable<T>
- Overrides:
indexOf
in classAbstractMutableList<T>
- See Also:
List.indexOf(Object)
-
lastIndexOf
public int lastIndexOf(java.lang.Object object)
Description copied from interface:ListIterable
Returns the index of the last occurrence of the specified item in this list, or -1 if this list does not contain the item.- Specified by:
lastIndexOf
in interfacejava.util.List<T>
- Specified by:
lastIndexOf
in interfaceListIterable<T>
- Overrides:
lastIndexOf
in classAbstractMutableList<T>
-
spliterator
public java.util.Spliterator<T> spliterator()
-
trimToSize
public void trimToSize()
-
trimToSizeIfGreaterThanPercent
public boolean trimToSizeIfGreaterThanPercent(double loadFactor)
Express load factor as 0.25 to trim a collection with more than 25% excess capacity
-
ensureCapacityForAdd
private void ensureCapacityForAdd()
-
ensureCapacityForAddAll
private int ensureCapacityForAddAll(java.util.Collection<T> source)
-
ensureCapacity
public void ensureCapacity(int minCapacity)
-
transferItemsToNewArrayWithCapacity
private void transferItemsToNewArrayWithCapacity(int newCapacity)
-
copyItemsWithNewCapacity
private java.lang.Object[] copyItemsWithNewCapacity(int newCapacity)
-
getFirst
public T getFirst()
Description copied from interface:RichIterable
Returns the first element of an iterable. In the case of a List it is the element at the first index. In the case of any other Collection, it is the first element that would be returned during an iteration. If the iterable is empty, null is returned. If null is a valid element of the container, then a developer would need to check to see if the iterable is empty to validate that a null result was not due to the container being empty.The order of Sets are not guaranteed (except for TreeSets and other Ordered Set implementations), so if you use this method, the first element could be any element from the Set.
- Specified by:
getFirst
in interfaceListIterable<T>
- Specified by:
getFirst
in interfaceOrderedIterable<T>
- Specified by:
getFirst
in interfaceRichIterable<T>
- Overrides:
getFirst
in classAbstractMutableList<T>
-
getLast
public T getLast()
Description copied from interface:RichIterable
Returns the last element of an iterable. In the case of a List it is the element at the last index. In the case of any other Collection, it is the last element that would be returned during an iteration. If the iterable is empty, null is returned. If null is a valid element of the container, then a developer would need to check to see if the iterable is empty to validate that a null result was not due to the container being empty.The order of Sets are not guaranteed (except for TreeSets and other Ordered Set implementations), so if you use this method, the last element could be any element from the Set.
- Specified by:
getLast
in interfaceListIterable<T>
- Specified by:
getLast
in interfaceOrderedIterable<T>
- Specified by:
getLast
in interfaceRichIterable<T>
- Overrides:
getLast
in classAbstractMutableList<T>
-
groupBy
public <V> FastListMultimap<V,T> groupBy(Function<? super T,? extends V> function)
Description copied from interface:MutableCollection
For each element of the iterable, the function is evaluated and the results of these evaluations are collected into a new multimap, where the transformed value is the key and the original values are added to the same (or similar) species of collection as the source iterable.Example using a Java 8 method reference:
Multimap<String, Person> peopleByLastName = people.groupBy(Person::getLastName);
Example using an anonymous inner class:
Multimap<String, Person> peopleByLastName = people.groupBy(new Function<Person, String>() { public String valueOf(Person person) { return person.getLastName(); } });
Co-variant example for MutableCollection:MutableMultimap<String, Person> peopleByLastName = people.groupBy(Person::getLastName);
- Specified by:
groupBy
in interfaceListIterable<T>
- Specified by:
groupBy
in interfaceMutableCollection<T>
- Specified by:
groupBy
in interfaceMutableList<T>
- Specified by:
groupBy
in interfaceOrderedIterable<T>
- Specified by:
groupBy
in interfaceReversibleIterable<T>
- Specified by:
groupBy
in interfaceRichIterable<T>
- Overrides:
groupBy
in classAbstractMutableList<T>
-
groupBy
public <V,R extends MutableMultimap<V,T>> R groupBy(Function<? super T,? extends V> function, R target)
Description copied from interface:RichIterable
Same asRichIterable.groupBy(Function)
, except that the results are gathered into the specifiedtarget
multimap.Example using a Java 8 method reference:
FastListMultimap<String, Person> peopleByLastName = people.groupBy(Person::getLastName, new FastListMultimap<String, Person>());
Example using an anonymous inner class:
FastListMultimap<String, Person> peopleByLastName = people.groupBy(new Function<Person, String>() { public String valueOf(Person person) { return person.getLastName(); } }, new FastListMultimap<String, Person>());
- Specified by:
groupBy
in interfaceRichIterable<T>
- Overrides:
groupBy
in classAbstractRichIterable<T>
-
groupByEach
public <V> FastListMultimap<V,T> groupByEach(Function<? super T,? extends java.lang.Iterable<V>> function)
Description copied from interface:RichIterable
Similar toRichIterable.groupBy(Function)
, except the result of evaluating function will return a collection of keys for each value.- Specified by:
groupByEach
in interfaceListIterable<T>
- Specified by:
groupByEach
in interfaceMutableCollection<T>
- Specified by:
groupByEach
in interfaceMutableList<T>
- Specified by:
groupByEach
in interfaceOrderedIterable<T>
- Specified by:
groupByEach
in interfaceReversibleIterable<T>
- Specified by:
groupByEach
in interfaceRichIterable<T>
- Overrides:
groupByEach
in classAbstractMutableList<T>
-
groupByEach
public <V,R extends MutableMultimap<V,T>> R groupByEach(Function<? super T,? extends java.lang.Iterable<V>> function, R target)
Description copied from interface:RichIterable
Same asRichIterable.groupByEach(Function)
, except that the results are gathered into the specifiedtarget
multimap.- Specified by:
groupByEach
in interfaceRichIterable<T>
- Overrides:
groupByEach
in classAbstractRichIterable<T>
-
groupByUniqueKey
public <K> MutableMap<K,T> groupByUniqueKey(Function<? super T,? extends K> function)
Description copied from interface:RichIterable
For each element of the iterable, the function is evaluated, and the results of these evaluations are collected into a new map, where the transformed value is the key. The generated keys must each be unique, or else an exception is thrown.- Specified by:
groupByUniqueKey
in interfaceMutableCollection<T>
- Specified by:
groupByUniqueKey
in interfaceRichIterable<T>
- Overrides:
groupByUniqueKey
in classAbstractMutableList<T>
- See Also:
RichIterable.groupBy(Function)
-
groupByUniqueKey
public <K,R extends MutableMapIterable<K,T>> R groupByUniqueKey(Function<? super T,? extends K> function, R target)
Description copied from interface:RichIterable
Same asRichIterable.groupByUniqueKey(Function)
, except that the results are gathered into the specifiedtarget
map.- Specified by:
groupByUniqueKey
in interfaceRichIterable<T>
- Overrides:
groupByUniqueKey
in classAbstractRichIterable<T>
- See Also:
RichIterable.groupByUniqueKey(Function)
-
appendString
public void appendString(java.lang.Appendable appendable, java.lang.String start, java.lang.String separator, java.lang.String end)
Description copied from interface:RichIterable
Prints a string representation of this collection onto the givenAppendable
. Prints the string returned byRichIterable.makeString(String, String, String)
.- Specified by:
appendString
in interfaceRichIterable<T>
- Overrides:
appendString
in classAbstractMutableList<T>
-
take
public MutableList<T> take(int count)
Description copied from interface:ReversibleIterable
Returns the firstcount
elements of the iterable or all the elements in the iterable ifcount
is greater than the length of the iterable.- Specified by:
take
in interfaceListIterable<T>
- Specified by:
take
in interfaceMutableList<T>
- Specified by:
take
in interfaceReversibleIterable<T>
- Overrides:
take
in classAbstractMutableList<T>
- Parameters:
count
- the number of items to take.
-
drop
public MutableList<T> drop(int count)
Description copied from interface:ReversibleIterable
Returns an iterable after skipping the firstcount
elements or an empty iterable if thecount
is greater than the length of the iterable.- Specified by:
drop
in interfaceListIterable<T>
- Specified by:
drop
in interfaceMutableList<T>
- Specified by:
drop
in interfaceReversibleIterable<T>
- Overrides:
drop
in classAbstractMutableList<T>
- Parameters:
count
- the number of items to drop.
-
partition
public PartitionFastList<T> partition(Predicate<? super T> predicate)
Description copied from interface:MutableCollection
Filters a collection into a PartitionedIterable based on the evaluation of the predicate.Example using a Java 8 lambda expression:
PartitionIterable<Person> newYorkersAndNonNewYorkers = people.partition(person -> person.getAddress().getState().getName().equals("New York"));
Example using an anonymous inner class:
PartitionIterable<Person> newYorkersAndNonNewYorkers = people.partition(new Predicate<Person>() { public boolean accept(Person person) { return person.getAddress().getState().getName().equals("New York"); } });
Co-variant example for MutableCollection:PartitionMutableCollection<Person> newYorkersAndNonNewYorkers = people.partition(person -> person.getAddress().getState().getName().equals("New York"));
- Specified by:
partition
in interfaceListIterable<T>
- Specified by:
partition
in interfaceMutableCollection<T>
- Specified by:
partition
in interfaceMutableList<T>
- Specified by:
partition
in interfaceOrderedIterable<T>
- Specified by:
partition
in interfaceReversibleIterable<T>
- Specified by:
partition
in interfaceRichIterable<T>
- Overrides:
partition
in classAbstractMutableList<T>
-
partitionWith
public <P> PartitionFastList<T> partitionWith(Predicate2<? super T,? super P> predicate, P parameter)
Description copied from interface:MutableCollection
Filters a collection into a PartitionIterable based on the evaluation of the predicate.Example using a Java 8 lambda expression:
PartitionIterable<Person> newYorkersAndNonNewYorkers = people.partitionWith((Person person, String state) -> person.getAddress().getState().getName().equals(state), "New York");
Example using an anonymous inner class:
PartitionIterable<Person> newYorkersAndNonNewYorkers = people.partitionWith(new Predicate2<Person, String>() { public boolean accept(Person person, String state) { return person.getAddress().getState().getName().equals(state); } }, "New York");
Co-variant example for MutableCollection:PartitionMutableCollection<Person> newYorkersAndNonNewYorkers = people.partitionWith((Person person, String state) -> person.getAddress().getState().getName().equals(state), "New York");
- Specified by:
partitionWith
in interfaceListIterable<T>
- Specified by:
partitionWith
in interfaceMutableCollection<T>
- Specified by:
partitionWith
in interfaceMutableList<T>
- Specified by:
partitionWith
in interfaceOrderedIterable<T>
- Specified by:
partitionWith
in interfaceReversibleIterable<T>
- Specified by:
partitionWith
in interfaceRichIterable<T>
- Overrides:
partitionWith
in classAbstractMutableList<T>
-
each
public void each(Procedure<? super T> procedure)
Description copied from interface:RichIterable
The procedure is executed for each element in the iterable.Example using a Java 8 lambda expression:
people.each(person -> LOGGER.info(person.getName()));
Example using an anonymous inner class:
people.each(new Procedure<Person>() { public void value(Person person) { LOGGER.info(person.getName()); } });
This method is a variant ofInternalIterable.forEach(Procedure)
that has a signature conflict withIterable.forEach(java.util.function.Consumer)
.- Specified by:
each
in interfaceRichIterable<T>
- Overrides:
each
in classAbstractMutableList<T>
- See Also:
InternalIterable.forEach(Procedure)
,Iterable.forEach(java.util.function.Consumer)
-
forEachWithIndex
public void forEachWithIndex(ObjectIntProcedure<? super T> objectIntProcedure)
Description copied from interface:InternalIterable
Iterates over the iterable passing each element and the current relative int index to the specified instance of ObjectIntProcedure.Example using a Java 8 lambda:
people.forEachWithIndex((Person person, int index) -> LOGGER.info("Index: " + index + " person: " + person.getName()));
Example using an anonymous inner class:
people.forEachWithIndex(new ObjectIntProcedure<Person>() { public void value(Person person, int index) { LOGGER.info("Index: " + index + " person: " + person.getName()); } });
- Specified by:
forEachWithIndex
in interfaceInternalIterable<T>
- Specified by:
forEachWithIndex
in interfaceOrderedIterable<T>
- Overrides:
forEachWithIndex
in classAbstractMutableList<T>
-
forEachWith
public <P> void forEachWith(Procedure2<? super T,? super P> procedure, P parameter)
Description copied from interface:InternalIterable
The procedure2 is evaluated for each element in the iterable with the specified parameter provided as the second argument.Example using a Java 8 lambda:
people.forEachWith((Person person, Person other) -> { if (person.isRelatedTo(other)) { LOGGER.info(person.getName()); } }, fred);
Example using an anonymous inner class:
people.forEachWith(new Procedure2<Person, Person>() { public void value(Person person, Person other) { if (person.isRelatedTo(other)) { LOGGER.info(person.getName()); } } }, fred);
- Specified by:
forEachWith
in interfaceInternalIterable<T>
- Overrides:
forEachWith
in classAbstractMutableList<T>
-
select
public FastList<T> select(Predicate<? super T> predicate)
Description copied from interface:MutableCollection
Returns a MutableCollection with all elements that evaluate to true for the specified predicate.MutableCollection<Integer> livesInLondon = people.select(person -> person.getAddress().getCity().equals("London"));
- Specified by:
select
in interfaceListIterable<T>
- Specified by:
select
in interfaceMutableCollection<T>
- Specified by:
select
in interfaceMutableList<T>
- Specified by:
select
in interfaceOrderedIterable<T>
- Specified by:
select
in interfaceReversibleIterable<T>
- Specified by:
select
in interfaceRichIterable<T>
-
select
public <R extends java.util.Collection<T>> R select(Predicate<? super T> predicate, R target)
Description copied from interface:RichIterable
Same as the select method with one parameter but uses the specified target collection for the results.Example using a Java 8 lambda expression:
MutableList<Person> selected = people.select(person -> person.person.getLastName().equals("Smith"), Lists.mutable.empty());
Example using an anonymous inner class:
MutableList<Person> selected = people.select(new Predicate<Person>() { public boolean accept(Person person) { return person.person.getLastName().equals("Smith"); } }, Lists.mutable.empty());
- Specified by:
select
in interfaceRichIterable<T>
- Overrides:
select
in classAbstractMutableList<T>
- Parameters:
predicate
- aPredicate
to use as the select criteriatarget
- the Collection to append to for all elements in thisRichIterable
that meet select criteriapredicate
- Returns:
target
, which contains appended elements as a result of the select criteria- See Also:
RichIterable.select(Predicate)
-
selectWith
public <P> FastList<T> selectWith(Predicate2<? super T,? super P> predicate, P parameter)
Description copied from interface:MutableCollection
Returns a MutableCollection with all elements that evaluate to true for the specified predicate2 and parameter.MutableCollection<Integer> fives = integers.selectWith(Predicates2.equal(), Integer.valueOf(5));
- Specified by:
selectWith
in interfaceListIterable<T>
- Specified by:
selectWith
in interfaceMutableCollection<T>
- Specified by:
selectWith
in interfaceMutableList<T>
- Specified by:
selectWith
in interfaceOrderedIterable<T>
- Specified by:
selectWith
in interfaceReversibleIterable<T>
- Specified by:
selectWith
in interfaceRichIterable<T>
- Parameters:
predicate
- aPredicate2
to use as the select criteriaparameter
- a parameter to pass in for evaluation of the second argumentP
inpredicate
- See Also:
RichIterable.select(Predicate)
-
selectWith
public <P,R extends java.util.Collection<T>> R selectWith(Predicate2<? super T,? super P> predicate, P parameter, R target)
Description copied from interface:RichIterable
Similar toRichIterable.select(Predicate, Collection)
, except with an evaluation parameter for the second generic argument inPredicate2
.E.g. return a
Collection
of Person elements where the person has an age greater than or equal to 18 yearsExample using a Java 8 lambda expression:
MutableList<Person> selected = people.selectWith((Person person, Integer age) -> person.getAge()>= age, Integer.valueOf(18), Lists.mutable.empty());
Example using an anonymous inner class:
MutableList<Person> selected = people.selectWith(new Predicate2<Person, Integer>() { public boolean accept(Person person, Integer age) { return person.getAge()>= age; } }, Integer.valueOf(18), Lists.mutable.empty());
- Specified by:
selectWith
in interfaceRichIterable<T>
- Overrides:
selectWith
in classAbstractMutableList<T>
- Parameters:
predicate
- aPredicate2
to use as the select criteriaparameter
- a parameter to pass in for evaluation of the second argumentP
inpredicate
target
- the Collection to append to for all elements in thisRichIterable
that meet select criteriapredicate
- Returns:
targetCollection
, which contains appended elements as a result of the select criteria- See Also:
RichIterable.select(Predicate)
,RichIterable.select(Predicate, Collection)
-
reject
public FastList<T> reject(Predicate<? super T> predicate)
Description copied from interface:MutableCollection
Returns a MutableCollection with all elements that evaluate to false for the specified predicate.MutableCollection<Person> notSmiths = people.reject(person -> person.person.getLastName().equals("Smith"));
Using thePredicates
factory:MutableCollection<Person> notSmiths = people.reject(Predicates.attributeEqual("lastName", "Smith"));
- Specified by:
reject
in interfaceListIterable<T>
- Specified by:
reject
in interfaceMutableCollection<T>
- Specified by:
reject
in interfaceMutableList<T>
- Specified by:
reject
in interfaceOrderedIterable<T>
- Specified by:
reject
in interfaceReversibleIterable<T>
- Specified by:
reject
in interfaceRichIterable<T>
- Parameters:
predicate
- aPredicate
to use as the reject criteria- Returns:
- a RichIterable that contains elements that cause
Predicate.accept(Object)
method to evaluate to false
-
reject
public <R extends java.util.Collection<T>> R reject(Predicate<? super T> predicate, R target)
Description copied from interface:RichIterable
Same as the reject method with one parameter but uses the specified target collection for the results.Example using a Java 8 lambda expression:
MutableList<Person> rejected = people.reject(person -> person.person.getLastName().equals("Smith"), Lists.mutable.empty());
Example using an anonymous inner class:
MutableList<Person> rejected = people.reject(new Predicate<Person>() { public boolean accept(Person person) { return person.person.getLastName().equals("Smith"); } }, Lists.mutable.empty());
- Specified by:
reject
in interfaceRichIterable<T>
- Overrides:
reject
in classAbstractMutableList<T>
- Parameters:
predicate
- aPredicate
to use as the reject criteriatarget
- the Collection to append to for all elements in thisRichIterable
that causePredicate#accept(Object)
method to evaluate to false- Returns:
target
, which contains appended elements as a result of the reject criteria
-
rejectWith
public <P> FastList<T> rejectWith(Predicate2<? super T,? super P> predicate, P parameter)
Description copied from interface:MutableCollection
Returns a MutableCollection with all elements that evaluate to false for the specified predicate2 and parameter.e.g. MutableCollection<Integer> selected = integers.rejectWith(Predicates2.equal(), Integer.valueOf(5));
- Specified by:
rejectWith
in interfaceListIterable<T>
- Specified by:
rejectWith
in interfaceMutableCollection<T>
- Specified by:
rejectWith
in interfaceMutableList<T>
- Specified by:
rejectWith
in interfaceOrderedIterable<T>
- Specified by:
rejectWith
in interfaceReversibleIterable<T>
- Specified by:
rejectWith
in interfaceRichIterable<T>
- Parameters:
predicate
- aPredicate2
to use as the select criteriaparameter
- a parameter to pass in for evaluation of the second argumentP
inpredicate
- See Also:
RichIterable.select(Predicate)
-
rejectWith
public <P,R extends java.util.Collection<T>> R rejectWith(Predicate2<? super T,? super P> predicate, P parameter, R target)
Description copied from interface:RichIterable
Similar toRichIterable.reject(Predicate, Collection)
, except with an evaluation parameter for the second generic argument inPredicate2
.E.g. return a
Collection
of Person elements where the person has an age greater than or equal to 18 yearsExample using a Java 8 lambda expression:
MutableList<Person> rejected = people.rejectWith((Person person, Integer age) -> person.getAge() < age, Integer.valueOf(18), Lists.mutable.empty());
Example using an anonymous inner class:
MutableList<Person> rejected = people.rejectWith(new Predicate2<Person, Integer>() { public boolean accept(Person person, Integer age) { return person.getAge() < age; } }, Integer.valueOf(18), Lists.mutable.empty());
- Specified by:
rejectWith
in interfaceRichIterable<T>
- Overrides:
rejectWith
in classAbstractMutableList<T>
- Parameters:
predicate
- aPredicate2
to use as the reject criteriaparameter
- a parameter to pass in for evaluation of the second argumentP
inpredicate
target
- the Collection to append to for all elements in thisRichIterable
that causePredicate#accept(Object)
method to evaluate to false- Returns:
targetCollection
, which contains appended elements as a result of the reject criteria- See Also:
RichIterable.reject(Predicate)
,RichIterable.reject(Predicate, Collection)
-
selectAndRejectWith
public <P> Twin<MutableList<T>> selectAndRejectWith(Predicate2<? super T,? super P> predicate, P parameter)
Description copied from interface:MutableCollection
Filters a collection into two separate collections based on a predicate returned via a Pair.e.g. return lastNames.selectAndRejectWith(Predicates2.lessThan(), "Mason");
- Specified by:
selectAndRejectWith
in interfaceMutableCollection<T>
- Overrides:
selectAndRejectWith
in classAbstractMutableList<T>
-
selectInstancesOf
public <S> FastList<S> selectInstancesOf(java.lang.Class<S> clazz)
Description copied from interface:MutableCollection
Returns all elements of the source collection that are instances of the Classclazz
.RichIterable<Integer> integers = List.mutable.with(new Integer(0), new Long(0L), new Double(0.0)).selectInstancesOf(Integer.class);
Co-variant example for MutableCollection:MutableCollection<Integer> integers = List.mutable.with(new Integer(0), new Long(0L), new Double(0.0)).selectInstancesOf(Integer.class);
- Specified by:
selectInstancesOf
in interfaceListIterable<T>
- Specified by:
selectInstancesOf
in interfaceMutableCollection<T>
- Specified by:
selectInstancesOf
in interfaceMutableList<T>
- Specified by:
selectInstancesOf
in interfaceOrderedIterable<T>
- Specified by:
selectInstancesOf
in interfaceReversibleIterable<T>
- Specified by:
selectInstancesOf
in interfaceRichIterable<T>
- Overrides:
selectInstancesOf
in classAbstractMutableList<T>
-
removeIf
public boolean removeIf(Predicate<? super T> predicate)
Description copied from interface:MutableCollection
Removes all elements in the collection that evaluate to true for the specified predicate.e.g. return lastNames.removeIf(Predicates.isNull());
- Specified by:
removeIf
in interfaceMutableCollection<T>
- Overrides:
removeIf
in classAbstractMutableList<T>
-
wipeAndResetTheEnd
private void wipeAndResetTheEnd(int newCurrentFilledIndex)
-
removeIfWith
public <P> boolean removeIfWith(Predicate2<? super T,? super P> predicate, P parameter)
Description copied from interface:MutableCollection
Removes all elements in the collection that evaluate to true for the specified predicate2 and parameter.return lastNames.removeIfWith(Predicates2.isNull(), null);
- Specified by:
removeIfWith
in interfaceMutableCollection<T>
- Overrides:
removeIfWith
in classAbstractMutableList<T>
-
collect
public <V> FastList<V> collect(Function<? super T,? extends V> function)
Description copied from interface:MutableCollection
Returns a new MutableCollection with the results of applying the specified function to each element of the source collection.MutableCollection<String> names = people.collect(person -> person.getFirstName() + " " + person.getLastName());
- Specified by:
collect
in interfaceListIterable<T>
- Specified by:
collect
in interfaceMutableCollection<T>
- Specified by:
collect
in interfaceMutableList<T>
- Specified by:
collect
in interfaceOrderedIterable<T>
- Specified by:
collect
in interfaceReversibleIterable<T>
- Specified by:
collect
in interfaceRichIterable<T>
-
collectBoolean
public <R extends MutableBooleanCollection> R collectBoolean(BooleanFunction<? super T> booleanFunction, R target)
Description copied from interface:RichIterable
Same asRichIterable.collectBoolean(BooleanFunction)
, except that the results are gathered into the specifiedtarget
collection.Example using a Java 8 lambda expression:
BooleanArrayList licenses = people.collectBoolean(person -> person.hasDrivingLicense(), new BooleanArrayList());
Example using an anonymous inner class:
BooleanArrayList licenses = people.collectBoolean(new BooleanFunction<Person>() { public boolean booleanValueOf(Person person) { return person.hasDrivingLicense(); } }, new BooleanArrayList());
- Specified by:
collectBoolean
in interfaceRichIterable<T>
- Parameters:
booleanFunction
- aBooleanFunction
to use as the collect transformation functiontarget
- the MutableBooleanCollection to append to for all elements in thisRichIterable
- Returns:
target
, which contains appended elements as a result of the collect transformation
-
flatCollectBoolean
public <R extends MutableBooleanCollection> R flatCollectBoolean(Function<? super T,? extends BooleanIterable> function, R target)
Description copied from interface:RichIterable
Same as flatCollect, only the results are collected into the target collection.- Specified by:
flatCollectBoolean
in interfaceRichIterable<T>
- Parameters:
function
- TheFunction
to applytarget
- The collection into which results should be added.- Returns:
target
, which will contain a flattened collection of results produced by applying the givenfunction
- See Also:
RichIterable.flatCollect(Function)
-
collectByte
public <R extends MutableByteCollection> R collectByte(ByteFunction<? super T> byteFunction, R target)
Description copied from interface:RichIterable
Same asRichIterable.collectByte(ByteFunction)
, except that the results are gathered into the specifiedtarget
collection.Example using a Java 8 lambda expression:
ByteArrayList bytes = people.collectByte(person -> person.getCode(), new ByteArrayList());
Example using an anonymous inner class:
ByteArrayList bytes = people.collectByte(new ByteFunction<Person>() { public byte byteValueOf(Person person) { return person.getCode(); } }, new ByteArrayList());
- Specified by:
collectByte
in interfaceRichIterable<T>
- Parameters:
byteFunction
- aByteFunction
to use as the collect transformation functiontarget
- the MutableByteCollection to append to for all elements in thisRichIterable
- Returns:
target
, which contains appended elements as a result of the collect transformation
-
flatCollectByte
public <R extends MutableByteCollection> R flatCollectByte(Function<? super T,? extends ByteIterable> function, R target)
Description copied from interface:RichIterable
Same as flatCollect, only the results are collected into the target collection.- Specified by:
flatCollectByte
in interfaceRichIterable<T>
- Parameters:
function
- TheFunction
to applytarget
- The collection into which results should be added.- Returns:
target
, which will contain a flattened collection of results produced by applying the givenfunction
- See Also:
RichIterable.flatCollect(Function)
-
collectChar
public <R extends MutableCharCollection> R collectChar(CharFunction<? super T> charFunction, R target)
Description copied from interface:RichIterable
Same asRichIterable.collectChar(CharFunction)
, except that the results are gathered into the specifiedtarget
collection.Example using a Java 8 lambda expression:
CharArrayList chars = people.collectChar(person -> person.getMiddleInitial(), new CharArrayList());
Example using an anonymous inner class:
CharArrayList chars = people.collectChar(new CharFunction<Person>() { public char charValueOf(Person person) { return person.getMiddleInitial(); } }, new CharArrayList());
- Specified by:
collectChar
in interfaceRichIterable<T>
- Parameters:
charFunction
- aCharFunction
to use as the collect transformation functiontarget
- the MutableCharCollection to append to for all elements in thisRichIterable
- Returns:
target
, which contains appended elements as a result of the collect transformation
-
flatCollectChar
public <R extends MutableCharCollection> R flatCollectChar(Function<? super T,? extends CharIterable> function, R target)
Description copied from interface:RichIterable
Same as flatCollect, only the results are collected into the target collection.- Specified by:
flatCollectChar
in interfaceRichIterable<T>
- Parameters:
function
- TheFunction
to applytarget
- The collection into which results should be added.- Returns:
target
, which will contain a flattened collection of results produced by applying the givenfunction
- See Also:
RichIterable.flatCollect(Function)
-
collectDouble
public <R extends MutableDoubleCollection> R collectDouble(DoubleFunction<? super T> doubleFunction, R target)
Description copied from interface:RichIterable
Same asRichIterable.collectDouble(DoubleFunction)
, except that the results are gathered into the specifiedtarget
collection.Example using a Java 8 lambda expression:
DoubleArrayList doubles = people.collectDouble(person -> person.getMilesFromNorthPole(), new DoubleArrayList());
Example using an anonymous inner class:
DoubleArrayList doubles = people.collectDouble(new DoubleFunction<Person>() { public double doubleValueOf(Person person) { return person.getMilesFromNorthPole(); } }, new DoubleArrayList());
- Specified by:
collectDouble
in interfaceRichIterable<T>
- Parameters:
doubleFunction
- aDoubleFunction
to use as the collect transformation functiontarget
- the MutableDoubleCollection to append to for all elements in thisRichIterable
- Returns:
target
, which contains appended elements as a result of the collect transformation
-
flatCollectDouble
public <R extends MutableDoubleCollection> R flatCollectDouble(Function<? super T,? extends DoubleIterable> function, R target)
Description copied from interface:RichIterable
Same as flatCollect, only the results are collected into the target collection.- Specified by:
flatCollectDouble
in interfaceRichIterable<T>
- Parameters:
function
- TheFunction
to applytarget
- The collection into which results should be added.- Returns:
target
, which will contain a flattened collection of results produced by applying the givenfunction
- See Also:
RichIterable.flatCollect(Function)
-
collectFloat
public <R extends MutableFloatCollection> R collectFloat(FloatFunction<? super T> floatFunction, R target)
Description copied from interface:RichIterable
Same asRichIterable.collectFloat(FloatFunction)
, except that the results are gathered into the specifiedtarget
collection.Example using a Java 8 lambda expression:
FloatArrayList floats = people.collectFloat(person -> person.getHeightInInches(), new FloatArrayList());
Example using an anonymous inner class:
FloatArrayList floats = people.collectFloat(new FloatFunction<Person>() { public float floatValueOf(Person person) { return person.getHeightInInches(); } }, new FloatArrayList());
- Specified by:
collectFloat
in interfaceRichIterable<T>
- Parameters:
floatFunction
- aFloatFunction
to use as the collect transformation functiontarget
- the MutableFloatCollection to append to for all elements in thisRichIterable
- Returns:
target
, which contains appended elements as a result of the collect transformation
-
flatCollectFloat
public <R extends MutableFloatCollection> R flatCollectFloat(Function<? super T,? extends FloatIterable> function, R target)
Description copied from interface:RichIterable
Same as flatCollect, only the results are collected into the target collection.- Specified by:
flatCollectFloat
in interfaceRichIterable<T>
- Parameters:
function
- TheFunction
to applytarget
- The collection into which results should be added.- Returns:
target
, which will contain a flattened collection of results produced by applying the givenfunction
- See Also:
RichIterable.flatCollect(Function)
-
collectInt
public <R extends MutableIntCollection> R collectInt(IntFunction<? super T> intFunction, R target)
Description copied from interface:RichIterable
Same asRichIterable.collectInt(IntFunction)
, except that the results are gathered into the specifiedtarget
collection.Example using a Java 8 lambda expression:
IntArrayList ints = people.collectInt(person -> person.getAge(), new IntArrayList());
Example using an anonymous inner class:
IntArrayList ints = people.collectInt(new IntFunction<Person>() { public int intValueOf(Person person) { return person.getAge(); } }, new IntArrayList());
- Specified by:
collectInt
in interfaceRichIterable<T>
- Parameters:
intFunction
- aIntFunction
to use as the collect transformation functiontarget
- the MutableIntCollection to append to for all elements in thisRichIterable
- Returns:
target
, which contains appended elements as a result of the collect transformation
-
flatCollectInt
public <R extends MutableIntCollection> R flatCollectInt(Function<? super T,? extends IntIterable> function, R target)
Description copied from interface:RichIterable
Same as flatCollect, only the results are collected into the target collection.- Specified by:
flatCollectInt
in interfaceRichIterable<T>
- Parameters:
function
- TheFunction
to applytarget
- The collection into which results should be added.- Returns:
target
, which will contain a flattened collection of results produced by applying the givenfunction
- See Also:
RichIterable.flatCollect(Function)
-
collectLong
public <R extends MutableLongCollection> R collectLong(LongFunction<? super T> longFunction, R target)
Description copied from interface:RichIterable
Same asRichIterable.collectLong(LongFunction)
, except that the results are gathered into the specifiedtarget
collection.Example using a Java 8 lambda expression:
LongArrayList longs = people.collectLong(person -> person.getGuid(), new LongArrayList());
Example using an anonymous inner class:
LongArrayList longs = people.collectLong(new LongFunction<Person>() { public long longValueOf(Person person) { return person.getGuid(); } }, new LongArrayList());
- Specified by:
collectLong
in interfaceRichIterable<T>
- Parameters:
longFunction
- aLongFunction
to use as the collect transformation functiontarget
- the MutableLongCollection to append to for all elements in thisRichIterable
- Returns:
target
, which contains appended elements as a result of the collect transformation
-
flatCollectLong
public <R extends MutableLongCollection> R flatCollectLong(Function<? super T,? extends LongIterable> function, R target)
Description copied from interface:RichIterable
Same as flatCollect, only the results are collected into the target collection.- Specified by:
flatCollectLong
in interfaceRichIterable<T>
- Parameters:
function
- TheFunction
to applytarget
- The collection into which results should be added.- Returns:
target
, which will contain a flattened collection of results produced by applying the givenfunction
- See Also:
RichIterable.flatCollect(Function)
-
collectShort
public <R extends MutableShortCollection> R collectShort(ShortFunction<? super T> shortFunction, R target)
Description copied from interface:RichIterable
Same asRichIterable.collectShort(ShortFunction)
, except that the results are gathered into the specifiedtarget
collection.Example using a Java 8 lambda expression:
ShortArrayList shorts = people.collectShort(person -> person.getNumberOfJunkMailItemsReceivedPerMonth, new ShortArrayList());
Example using an anonymous inner class:
ShortArrayList shorts = people.collectShort(new ShortFunction<Person>() { public short shortValueOf(Person person) { return person.getNumberOfJunkMailItemsReceivedPerMonth; } }, new ShortArrayList());
- Specified by:
collectShort
in interfaceRichIterable<T>
- Parameters:
shortFunction
- aShortFunction
to use as the collect transformation functiontarget
- the MutableShortCollection to append to for all elements in thisRichIterable
- Returns:
target
, which contains appended elements as a result of the collect transformation
-
flatCollectShort
public <R extends MutableShortCollection> R flatCollectShort(Function<? super T,? extends ShortIterable> function, R target)
Description copied from interface:RichIterable
Same as flatCollect, only the results are collected into the target collection.- Specified by:
flatCollectShort
in interfaceRichIterable<T>
- Parameters:
function
- TheFunction
to applytarget
- The collection into which results should be added.- Returns:
target
, which will contain a flattened collection of results produced by applying the givenfunction
- See Also:
RichIterable.flatCollect(Function)
-
collect
public <V,R extends java.util.Collection<V>> R collect(Function<? super T,? extends V> function, R target)
Description copied from interface:RichIterable
Same asRichIterable.collect(Function)
, except that the results are gathered into the specifiedtarget
collection.Example using a Java 8 lambda expression:
MutableList<String> names = people.collect(person -> person.getFirstName() + " " + person.getLastName(), Lists.mutable.empty());
Example using an anonymous inner class:
MutableList<String> names = people.collect(new Function<Person, String>() { public String valueOf(Person person) { return person.getFirstName() + " " + person.getLastName(); } }, Lists.mutable.empty());
- Specified by:
collect
in interfaceRichIterable<T>
- Overrides:
collect
in classAbstractMutableList<T>
- Parameters:
function
- aFunction
to use as the collect transformation functiontarget
- the Collection to append to for all elements in thisRichIterable
that meet select criteriafunction
- Returns:
target
, which contains appended elements as a result of the collect transformation- See Also:
RichIterable.collect(Function)
-
collectWithIndex
public <V> MutableList<V> collectWithIndex(ObjectIntToObjectFunction<? super T,? extends V> function)
Description copied from interface:OrderedIterable
Returns a new OrderedIterable using results obtained by applying the specified function to each element and its corresponding index.- Specified by:
collectWithIndex
in interfaceListIterable<T>
- Specified by:
collectWithIndex
in interfaceMutableList<T>
- Specified by:
collectWithIndex
in interfaceOrderedIterable<T>
- Specified by:
collectWithIndex
in interfaceReversibleIterable<T>
- Since:
- 9.1.
-
collectWithIndex
public <V,R extends java.util.Collection<V>> R collectWithIndex(ObjectIntToObjectFunction<? super T,? extends V> function, R target)
Description copied from interface:OrderedIterable
Adds elements to the target Collection using results obtained by applying the specified function to each element and its corresponding index.- Specified by:
collectWithIndex
in interfaceOrderedIterable<T>
- Since:
- 9.1.
-
selectWithIndex
public MutableList<T> selectWithIndex(ObjectIntPredicate<? super T> predicate)
Description copied from interface:MutableList
Returns a new MutableList with all elements of the collection that return true when evaluating the specified predicate which is supplied each element and its relative index.- Specified by:
selectWithIndex
in interfaceListIterable<T>
- Specified by:
selectWithIndex
in interfaceMutableList<T>
- Since:
- 11.0
-
rejectWithIndex
public MutableList<T> rejectWithIndex(ObjectIntPredicate<? super T> predicate)
Description copied from interface:MutableList
Returns a new MutableList with all elements of the collection that return false when evaluating the specified predicate which is supplied each element and its relative index.- Specified by:
rejectWithIndex
in interfaceListIterable<T>
- Specified by:
rejectWithIndex
in interfaceMutableList<T>
- Since:
- 11.0
-
selectWithIndex
public <R extends java.util.Collection<T>> R selectWithIndex(ObjectIntPredicate<? super T> predicate, R target)
Description copied from interface:OrderedIterable
Adds all elements to the target Collection that return true when evaluating the specified predicate which is supplied each element and its relative index.- Specified by:
selectWithIndex
in interfaceOrderedIterable<T>
- Since:
- 11.0
-
rejectWithIndex
public <R extends java.util.Collection<T>> R rejectWithIndex(ObjectIntPredicate<? super T> predicate, R target)
Description copied from interface:OrderedIterable
Adds all elements to the target Collection that return false when evaluating the specified predicate which is supplied each element and its relative index.- Specified by:
rejectWithIndex
in interfaceOrderedIterable<T>
- Since:
- 11.0
-
flatCollect
public <V> FastList<V> flatCollect(Function<? super T,? extends java.lang.Iterable<V>> function)
Description copied from interface:MutableCollection
flatCollect
is a special case ofRichIterable.collect(Function)
. Withcollect
, when theFunction
returns a collection, the result is a collection of collections.flatCollect
outputs a single "flattened" collection instead. This method is commonly called flatMap.Consider the following example where we have a
Person
class, and eachPerson
has a list ofAddress
objects. Take the followingFunction
:Function<Person, List<Address>> addressFunction = Person::getAddresses; RichIterable<Person> people = ...;
Usingcollect
returns a collection of collections of addresses.RichIterable<List<Address>> addresses = people.collect(addressFunction);
UsingflatCollect
returns a single flattened list of addresses.RichIterable<Address> addresses = people.flatCollect(addressFunction);
Co-variant example for MutableCollection:Function<Person, List<Address>> addressFunction = Person::getAddresses; MutableCollection<Person> people = ...; MutableCollection<List<Address>> addresses = people.collect(addressFunction); MutableCollection<Address> addresses = people.flatCollect(addressFunction);
- Specified by:
flatCollect
in interfaceListIterable<T>
- Specified by:
flatCollect
in interfaceMutableCollection<T>
- Specified by:
flatCollect
in interfaceMutableList<T>
- Specified by:
flatCollect
in interfaceOrderedIterable<T>
- Specified by:
flatCollect
in interfaceReversibleIterable<T>
- Specified by:
flatCollect
in interfaceRichIterable<T>
- Parameters:
function
- TheFunction
to apply- Returns:
- a new flattened collection produced by applying the given
function
-
flatCollect
public <V,R extends java.util.Collection<V>> R flatCollect(Function<? super T,? extends java.lang.Iterable<V>> function, R target)
Description copied from interface:RichIterable
Same as flatCollect, only the results are collected into the target collection.- Specified by:
flatCollect
in interfaceRichIterable<T>
- Overrides:
flatCollect
in classAbstractMutableList<T>
- Parameters:
function
- TheFunction
to applytarget
- The collection into which results should be added.- Returns:
target
, which will contain a flattened collection of results produced by applying the givenfunction
- See Also:
RichIterable.flatCollect(Function)
-
collectWith
public <P,V> FastList<V> collectWith(Function2<? super T,? super P,? extends V> function, P parameter)
Description copied from interface:MutableCollection
Same asRichIterable.collect(Function)
with aFunction2
and specified parameter which is passed to the block.Example using a Java 8 lambda expression:
RichIterable<Integer> integers = Lists.mutable.with(1, 2, 3).collectWith((each, parameter) -> each + parameter, Integer.valueOf(1));
Example using an anonymous inner class:
Function2<Integer, Integer, Integer> addParameterFunction = new Function2<Integer, Integer, Integer>() { public Integer value(Integer each, Integer parameter) { return each + parameter; } }; RichIterable<Integer> integers = Lists.mutable.with(1, 2, 3).collectWith(addParameterFunction, Integer.valueOf(1));
Co-variant example for MutableCollection:MutableCollection<Integer> integers = Lists.mutable.with(1, 2, 3).collectWith((each, parameter) -> each + parameter, Integer.valueOf(1));
- Specified by:
collectWith
in interfaceListIterable<T>
- Specified by:
collectWith
in interfaceMutableCollection<T>
- Specified by:
collectWith
in interfaceMutableList<T>
- Specified by:
collectWith
in interfaceOrderedIterable<T>
- Specified by:
collectWith
in interfaceReversibleIterable<T>
- Specified by:
collectWith
in interfaceRichIterable<T>
- Parameters:
function
- AFunction2
to use as the collect transformation functionparameter
- A parameter to pass in for evaluation of the second argumentP
infunction
- Returns:
- A new
RichIterable
that contains the transformed elements returned byFunction2.value(Object, Object)
- See Also:
RichIterable.collect(Function)
-
collectWith
public <P,V,R extends java.util.Collection<V>> R collectWith(Function2<? super T,? super P,? extends V> function, P parameter, R target)
Description copied from interface:RichIterable
Same as collectWith but with a targetCollection parameter to gather the results.Example using a Java 8 lambda expression:
MutableSet<Integer> integers = Lists.mutable.with(1, 2, 3).collectWith((each, parameter) -> each + parameter, Integer.valueOf(1), Sets.mutable.empty());
Example using an anonymous inner class:
Function2<Integer, Integer, Integer> addParameterFunction = new Function2<Integer, Integer, Integer>() { public Integer value(final Integer each, final Integer parameter) { return each + parameter; } }; MutableSet<Integer> integers = Lists.mutable.with(1, 2, 3).collectWith(addParameterFunction, Integer.valueOf(1), Sets.mutable.empty());
- Specified by:
collectWith
in interfaceRichIterable<T>
- Overrides:
collectWith
in classAbstractMutableList<T>
- Parameters:
function
- aFunction2
to use as the collect transformation functionparameter
- a parameter to pass in for evaluation of the second argumentP
infunction
target
- the Collection to append to for all elements in thisRichIterable
that meet select criteriafunction
- Returns:
targetCollection
, which contains appended elements as a result of the collect transformation
-
collectIf
public <V> FastList<V> collectIf(Predicate<? super T> predicate, Function<? super T,? extends V> function)
Description copied from interface:MutableCollection
Returns a new MutableCollection with the results of applying the specified function to each element of the source collection, but only for elements that evaluate to true for the specified predicate.MutableCollection<String> collected = Lists.mutable.of().with(1, 2, 3).collectIf(Predicates.notNull(), Functions.getToString())
- Specified by:
collectIf
in interfaceListIterable<T>
- Specified by:
collectIf
in interfaceMutableCollection<T>
- Specified by:
collectIf
in interfaceMutableList<T>
- Specified by:
collectIf
in interfaceOrderedIterable<T>
- Specified by:
collectIf
in interfaceReversibleIterable<T>
- Specified by:
collectIf
in interfaceRichIterable<T>
-
collectIf
public <V,R extends java.util.Collection<V>> R collectIf(Predicate<? super T> predicate, Function<? super T,? extends V> function, R target)
Description copied from interface:RichIterable
Same as the collectIf method with two parameters but uses the specified target collection for the results.- Specified by:
collectIf
in interfaceRichIterable<T>
- Overrides:
collectIf
in classAbstractMutableList<T>
- Parameters:
predicate
- aPredicate
to use as the select criteriafunction
- aFunction
to use as the collect transformation functiontarget
- the Collection to append to for all elements in thisRichIterable
that meet the collect criteriapredicate
- Returns:
targetCollection
, which contains appended elements as a result of the collect criteria and transformation- See Also:
RichIterable.collectIf(Predicate, Function)
-
detect
public T detect(Predicate<? super T> predicate)
Description copied from interface:RichIterable
Returns the first element of the iterable for which the predicate evaluates to true or null in the case where no element returns true. This method is commonly called find.Example using a Java 8 lambda expression:
Person person = people.detect(person -> person.getFirstName().equals("John") && person.getLastName().equals("Smith"));
Example using an anonymous inner class:
Person person = people.detect(new Predicate<Person>() { public boolean accept(Person person) { return person.getFirstName().equals("John") && person.getLastName().equals("Smith"); } });
- Specified by:
detect
in interfaceRichIterable<T>
- Overrides:
detect
in classAbstractMutableList<T>
-
detectWith
public <P> T detectWith(Predicate2<? super T,? super P> predicate, P parameter)
Description copied from interface:RichIterable
Returns the first element that evaluates to true for the specified predicate2 and parameter, or null if none evaluate to true.Example using a Java 8 lambda expression:
Person person = people.detectWith((person, fullName) -> person.getFullName().equals(fullName), "John Smith");
Example using an anonymous inner class:
Person person = people.detectWith(new Predicate2<Person, String>() { public boolean accept(Person person, String fullName) { return person.getFullName().equals(fullName); } }, "John Smith");
- Specified by:
detectWith
in interfaceRichIterable<T>
- Overrides:
detectWith
in classAbstractMutableList<T>
-
detectOptional
public java.util.Optional<T> detectOptional(Predicate<? super T> predicate)
Description copied from interface:RichIterable
Returns the first element of the iterable for which the predicate evaluates to true as an Optional. This method is commonly called find.Example using a Java 8 lambda expression:
Person person = people.detectOptional(person -> person.getFirstName().equals("John") && person.getLastName().equals("Smith"));
- Specified by:
detectOptional
in interfaceRichIterable<T>
- Overrides:
detectOptional
in classAbstractMutableList<T>
-
detectWithOptional
public <P> java.util.Optional<T> detectWithOptional(Predicate2<? super T,? super P> predicate, P parameter)
Description copied from interface:RichIterable
Returns the first element that evaluates to true for the specified predicate2 and parameter as an Optional.Example using a Java 8 lambda expression:
Optional<Person> person = people.detectWithOptional((person, fullName) -> person.getFullName().equals(fullName), "John Smith");
- Specified by:
detectWithOptional
in interfaceRichIterable<T>
- Overrides:
detectWithOptional
in classAbstractMutableList<T>
-
detectIndex
public int detectIndex(Predicate<? super T> predicate)
Description copied from interface:OrderedIterable
Returns the index of the first element of theOrderedIterable
for which thepredicate
evaluates to true. Returns -1 if no element evaluates true for thepredicate
.- Specified by:
detectIndex
in interfaceOrderedIterable<T>
- Overrides:
detectIndex
in classAbstractMutableList<T>
-
detectLastIndex
public int detectLastIndex(Predicate<? super T> predicate)
Description copied from interface:ReversibleIterable
Returns the index of the last element of theReversibleIterable
for which thepredicate
evaluates to true. Returns -1 if no element evaluates true for thepredicate
.- Specified by:
detectLastIndex
in interfaceReversibleIterable<T>
- Overrides:
detectLastIndex
in classAbstractMutableList<T>
-
min
public T min(java.util.Comparator<? super T> comparator)
Description copied from interface:RichIterable
Returns the minimum element out of this container based on the comparator.- Specified by:
min
in interfaceRichIterable<T>
- Overrides:
min
in classAbstractMutableList<T>
-
max
public T max(java.util.Comparator<? super T> comparator)
Description copied from interface:RichIterable
Returns the maximum element out of this container based on the comparator.- Specified by:
max
in interfaceRichIterable<T>
- Overrides:
max
in classAbstractMutableList<T>
-
min
public T min()
Description copied from interface:RichIterable
Returns the minimum element out of this container based on the natural order.- Specified by:
min
in interfaceOrderedIterable<T>
- Specified by:
min
in interfaceRichIterable<T>
- Overrides:
min
in classAbstractMutableList<T>
-
max
public T max()
Description copied from interface:RichIterable
Returns the maximum element out of this container based on the natural order.- Specified by:
max
in interfaceOrderedIterable<T>
- Specified by:
max
in interfaceRichIterable<T>
- Overrides:
max
in classAbstractMutableList<T>
-
minBy
public <V extends java.lang.Comparable<? super V>> T minBy(Function<? super T,? extends V> function)
Description copied from interface:RichIterable
Returns the minimum elements out of this container based on the natural order of the attribute returned by Function.- Specified by:
minBy
in interfaceRichIterable<T>
- Overrides:
minBy
in classAbstractMutableList<T>
-
maxBy
public <V extends java.lang.Comparable<? super V>> T maxBy(Function<? super T,? extends V> function)
Description copied from interface:RichIterable
Returns the maximum elements out of this container based on the natural order of the attribute returned by Function.- Specified by:
maxBy
in interfaceRichIterable<T>
- Overrides:
maxBy
in classAbstractMutableList<T>
-
get
public T get(int index)
Description copied from interface:ListIterable
Returns the item at the specified position in this list iterable.- Specified by:
get
in interfacejava.util.List<T>
- Specified by:
get
in interfaceListIterable<T>
-
newIndexOutOfBoundsException
private java.lang.IndexOutOfBoundsException newIndexOutOfBoundsException(int index)
-
add
public boolean add(T newItem)
- Specified by:
add
in interfacejava.util.Collection<T>
- Specified by:
add
in interfacejava.util.List<T>
- Overrides:
add
in classAbstractMutableCollection<T>
-
addAtIndex
private void addAtIndex(int index, T element)
-
sizePlusFiftyPercent
private int sizePlusFiftyPercent(int oldSize)
-
remove
public boolean remove(java.lang.Object object)
- Specified by:
remove
in interfacejava.util.Collection<T>
- Specified by:
remove
in interfacejava.util.List<T>
- Overrides:
remove
in classAbstractMutableCollection<T>
-
addAll
public boolean addAll(int index, java.util.Collection<? extends T> source)
- Specified by:
addAll
in interfacejava.util.List<T>
-
addAllArrayListAtIndex
private void addAllArrayListAtIndex(java.util.ArrayList<T> source, int index)
-
addAllRandomAccessListAtIndex
private void addAllRandomAccessListAtIndex(java.util.List<T> source, int index)
-
addAllCollectionAtIndex
private void addAllCollectionAtIndex(java.util.Collection<? extends T> source, int index)
-
shiftElementsAtIndex
private void shiftElementsAtIndex(int index, int sourceSize)
-
size
public int size()
Description copied from interface:RichIterable
Returns the number of items in this iterable.- Specified by:
size
in interfaceBatchIterable<T>
- Specified by:
size
in interfacejava.util.Collection<T>
- Specified by:
size
in interfacejava.util.List<T>
- Specified by:
size
in interfaceRichIterable<T>
-
count
public int count(Predicate<? super T> predicate)
Description copied from interface:RichIterable
Return the total number of elements that answer true to the specified predicate.Example using a Java 8 lambda expression:
int count = people.count(person -> person.getAddress().getState().getName().equals("New York"));
Example using an anonymous inner class:
int count = people.count(new Predicate<Person>() { public boolean accept(Person person) { return person.getAddress().getState().getName().equals("New York"); } });
- Specified by:
count
in interfaceRichIterable<T>
- Overrides:
count
in classAbstractMutableList<T>
-
countWith
public <P> int countWith(Predicate2<? super T,? super P> predicate, P parameter)
Description copied from interface:RichIterable
Returns the total number of elements that evaluate to true for the specified predicate.e.g. return lastNames.countWith(Predicates2.equal(), "Smith");
- Specified by:
countWith
in interfaceRichIterable<T>
- Overrides:
countWith
in classAbstractMutableList<T>
-
corresponds
public <S> boolean corresponds(OrderedIterable<S> other, Predicate2<? super T,? super S> predicate)
Description copied from interface:OrderedIterable
Returns true if both OrderedIterables have the same length andpredicate
returns true for all corresponding elements e1 of thisOrderedIterable
and e2 ofother
. Thepredicate
is evaluated for each element at the same position of eachOrderedIterable
in a forward iteration order. This is a short circuit pattern.- Specified by:
corresponds
in interfaceOrderedIterable<T>
- Overrides:
corresponds
in classAbstractMutableList<T>
-
anySatisfy
public boolean anySatisfy(Predicate<? super T> predicate)
Description copied from interface:RichIterable
Returns true if the predicate evaluates to true for any element of the iterable. Returns false if the iterable is empty, or if no element returned true when evaluating the predicate.- Specified by:
anySatisfy
in interfaceRichIterable<T>
- Overrides:
anySatisfy
in classAbstractMutableList<T>
-
anySatisfyWith
public <P> boolean anySatisfyWith(Predicate2<? super T,? super P> predicate, P parameter)
Description copied from interface:RichIterable
Returns true if the predicate evaluates to true for any element of the collection, or return false. Returns false if the collection is empty.- Specified by:
anySatisfyWith
in interfaceRichIterable<T>
- Overrides:
anySatisfyWith
in classAbstractMutableList<T>
-
allSatisfy
public boolean allSatisfy(Predicate<? super T> predicate)
Description copied from interface:RichIterable
Returns true if the predicate evaluates to true for every element of the iterable or if the iterable is empty. Otherwise, returns false.- Specified by:
allSatisfy
in interfaceRichIterable<T>
- Overrides:
allSatisfy
in classAbstractMutableList<T>
-
allSatisfyWith
public <P> boolean allSatisfyWith(Predicate2<? super T,? super P> predicate, P parameter)
Description copied from interface:RichIterable
Returns true if the predicate evaluates to true for every element of the collection, or returns false.- Specified by:
allSatisfyWith
in interfaceRichIterable<T>
- Overrides:
allSatisfyWith
in classAbstractMutableList<T>
-
noneSatisfy
public boolean noneSatisfy(Predicate<? super T> predicate)
Description copied from interface:RichIterable
Returns true if the predicate evaluates to false for every element of the iterable or if the iterable is empty. Otherwise, returns false.- Specified by:
noneSatisfy
in interfaceRichIterable<T>
- Overrides:
noneSatisfy
in classAbstractMutableList<T>
-
noneSatisfyWith
public <P> boolean noneSatisfyWith(Predicate2<? super T,? super P> predicate, P parameter)
Description copied from interface:RichIterable
Returns true if the predicate evaluates to false for every element of the collection, or return false. Returns true if the collection is empty.- Specified by:
noneSatisfyWith
in interfaceRichIterable<T>
- Overrides:
noneSatisfyWith
in classAbstractMutableList<T>
-
injectInto
public <IV> IV injectInto(IV injectedValue, Function2<? super IV,? super T,? extends IV> function)
Description copied from interface:RichIterable
Returns the final result of evaluating function using each element of the iterable and the previous evaluation result as the parameters. The injected value is used for the first parameter of the first evaluation, and the current item in the iterable is used as the second parameter. This method is commonly called fold or sometimes reduce.- Specified by:
injectInto
in interfaceRichIterable<T>
- Overrides:
injectInto
in classAbstractMutableList<T>
-
injectInto
public int injectInto(int injectedValue, IntObjectToIntFunction<? super T> function)
Description copied from interface:RichIterable
Returns the final int result of evaluating function using each element of the iterable and the previous evaluation result as the parameters. The injected value is used for the first parameter of the first evaluation, and the current item in the iterable is used as the second parameter.- Specified by:
injectInto
in interfaceRichIterable<T>
- Overrides:
injectInto
in classAbstractMutableList<T>
-
injectInto
public long injectInto(long injectedValue, LongObjectToLongFunction<? super T> function)
Description copied from interface:RichIterable
Returns the final long result of evaluating function using each element of the iterable and the previous evaluation result as the parameters. The injected value is used for the first parameter of the first evaluation, and the current item in the iterable is used as the second parameter.- Specified by:
injectInto
in interfaceRichIterable<T>
- Overrides:
injectInto
in classAbstractMutableList<T>
-
injectInto
public double injectInto(double injectedValue, DoubleObjectToDoubleFunction<? super T> function)
Description copied from interface:RichIterable
Returns the final double result of evaluating function using each element of the iterable and the previous evaluation result as the parameters. The injected value is used for the first parameter of the first evaluation, and the current item in the iterable is used as the second parameter.- Specified by:
injectInto
in interfaceRichIterable<T>
- Overrides:
injectInto
in classAbstractRichIterable<T>
-
injectInto
public float injectInto(float injectedValue, FloatObjectToFloatFunction<? super T> function)
Description copied from interface:RichIterable
Returns the final float result of evaluating function using each element of the iterable and the previous evaluation result as the parameters. The injected value is used for the first parameter of the first evaluation, and the current item in the iterable is used as the second parameter.- Specified by:
injectInto
in interfaceRichIterable<T>
- Overrides:
injectInto
in classAbstractMutableList<T>
-
distinct
public MutableList<T> distinct()
Description copied from interface:MutableList
Returns a newListIterable
containing the distinct elements in this list.- Specified by:
distinct
in interfaceListIterable<T>
- Specified by:
distinct
in interfaceMutableList<T>
- Specified by:
distinct
in interfaceOrderedIterable<T>
- Specified by:
distinct
in interfaceReversibleIterable<T>
- Overrides:
distinct
in classAbstractMutableList<T>
- Returns:
ListIterable
of distinct elements
-
distinct
public MutableList<T> distinct(HashingStrategy<? super T> hashingStrategy)
Description copied from interface:MutableList
Returns a newListIterable
containing the distinct elements in this list. Takes HashingStrategy.- Specified by:
distinct
in interfaceListIterable<T>
- Specified by:
distinct
in interfaceMutableList<T>
- Overrides:
distinct
in classAbstractMutableList<T>
- Returns:
ListIterable
of distinct elements
-
summarizeInt
public java.util.IntSummaryStatistics summarizeInt(IntFunction<? super T> function)
Description copied from interface:RichIterable
Returns the result of summarizing the value returned from applying the IntFunction to each element of the iterable.IntSummaryStatistics stats = Lists.mutable.with(1, 2, 3).summarizeInt(Integer::intValue);
- Specified by:
summarizeInt
in interfaceRichIterable<T>
- Since:
- 8.0
-
summarizeFloat
public java.util.DoubleSummaryStatistics summarizeFloat(FloatFunction<? super T> function)
Description copied from interface:RichIterable
Returns the result of summarizing the value returned from applying the FloatFunction to each element of the iterable.DoubleSummaryStatistics stats = Lists.mutable.with(1, 2, 3).summarizeFloat(Integer::floatValue);
- Specified by:
summarizeFloat
in interfaceRichIterable<T>
- Since:
- 8.0
-
summarizeLong
public java.util.LongSummaryStatistics summarizeLong(LongFunction<? super T> function)
Description copied from interface:RichIterable
Returns the result of summarizing the value returned from applying the LongFunction to each element of the iterable.LongSummaryStatistics stats = Lists.mutable.with(1, 2, 3).summarizeLong(Integer::longValue);
- Specified by:
summarizeLong
in interfaceRichIterable<T>
- Since:
- 8.0
-
summarizeDouble
public java.util.DoubleSummaryStatistics summarizeDouble(DoubleFunction<? super T> function)
Description copied from interface:RichIterable
Returns the result of summarizing the value returned from applying the DoubleFunction to each element of the iterable.DoubleSummaryStatistics stats = Lists.mutable.with(1, 2, 3).summarizeDouble(Integer::doubleValue);
- Specified by:
summarizeDouble
in interfaceRichIterable<T>
- Since:
- 8.0
-
reduce
public java.util.Optional<T> reduce(java.util.function.BinaryOperator<T> accumulator)
Description copied from interface:RichIterable
This method produces the equivalent result asStream.reduce(BinaryOperator)
.- Specified by:
reduce
in interfaceRichIterable<T>
- Overrides:
reduce
in classAbstractMutableCollection<T>
- Since:
- 8.0
-
reduceInPlace
public <R,A> R reduceInPlace(java.util.stream.Collector<? super T,A,R> collector)
Description copied from interface:RichIterable
This method produces the equivalent result asStream.collect(Collector)
.MutableObjectLongMap<Integer> map2 = Lists.mutable.with(1, 2, 3, 4, 5).reduceInPlace(Collectors2.sumByInt(i -> Integer.valueOf(i % 2), Integer::intValue));
- Specified by:
reduceInPlace
in interfaceRichIterable<T>
- Since:
- 8.0
-
reduceInPlace
public <R> R reduceInPlace(java.util.function.Supplier<R> supplier, java.util.function.BiConsumer<R,? super T> accumulator)
Description copied from interface:RichIterable
This method produces the equivalent result asStream.collect(Supplier, BiConsumer, BiConsumer)
. The combiner used in collect is unnecessary in the serial case, so is not included in the API.- Specified by:
reduceInPlace
in interfaceRichIterable<T>
- Since:
- 8.0
-
sumOfInt
public long sumOfInt(IntFunction<? super T> function)
Description copied from interface:RichIterable
Returns the final long result of evaluating function for each element of the iterable and adding the results together.- Specified by:
sumOfInt
in interfaceRichIterable<T>
- Overrides:
sumOfInt
in classAbstractMutableList<T>
-
sumOfLong
public long sumOfLong(LongFunction<? super T> function)
Description copied from interface:RichIterable
Returns the final long result of evaluating function for each element of the iterable and adding the results together.- Specified by:
sumOfLong
in interfaceRichIterable<T>
- Overrides:
sumOfLong
in classAbstractMutableList<T>
-
sumOfFloat
public double sumOfFloat(FloatFunction<? super T> function)
Description copied from interface:RichIterable
Returns the final double result of evaluating function for each element of the iterable and adding the results together. It uses Kahan summation algorithm to reduce numerical error.- Specified by:
sumOfFloat
in interfaceRichIterable<T>
- Overrides:
sumOfFloat
in classAbstractMutableList<T>
-
sumOfDouble
public double sumOfDouble(DoubleFunction<? super T> function)
Description copied from interface:RichIterable
Returns the final double result of evaluating function for each element of the iterable and adding the results together. It uses Kahan summation algorithm to reduce numerical error.- Specified by:
sumOfDouble
in interfaceRichIterable<T>
- Overrides:
sumOfDouble
in classAbstractMutableList<T>
-
sumByInt
public <V> MutableObjectLongMap<V> sumByInt(Function<? super T,? extends V> groupBy, IntFunction<? super T> function)
Description copied from interface:RichIterable
Groups and sums the values using the two specified functions.- Specified by:
sumByInt
in interfaceMutableCollection<T>
- Specified by:
sumByInt
in interfaceRichIterable<T>
- Overrides:
sumByInt
in classAbstractMutableCollection<T>
-
sumByLong
public <V> MutableObjectLongMap<V> sumByLong(Function<? super T,? extends V> groupBy, LongFunction<? super T> function)
Description copied from interface:RichIterable
Groups and sums the values using the two specified functions.- Specified by:
sumByLong
in interfaceMutableCollection<T>
- Specified by:
sumByLong
in interfaceRichIterable<T>
- Overrides:
sumByLong
in classAbstractMutableCollection<T>
-
sumByFloat
public <V> MutableObjectDoubleMap<V> sumByFloat(Function<? super T,? extends V> groupBy, FloatFunction<? super T> function)
Description copied from interface:RichIterable
Groups and sums the values using the two specified functions.- Specified by:
sumByFloat
in interfaceMutableCollection<T>
- Specified by:
sumByFloat
in interfaceRichIterable<T>
- Overrides:
sumByFloat
in classAbstractMutableCollection<T>
-
sumByDouble
public <V> MutableObjectDoubleMap<V> sumByDouble(Function<? super T,? extends V> groupBy, DoubleFunction<? super T> function)
Description copied from interface:RichIterable
Groups and sums the values using the two specified functions.- Specified by:
sumByDouble
in interfaceMutableCollection<T>
- Specified by:
sumByDouble
in interfaceRichIterable<T>
- Overrides:
sumByDouble
in classAbstractMutableCollection<T>
-
injectIntoWith
public <IV,P> IV injectIntoWith(IV injectValue, Function3<? super IV,? super T,? super P,? extends IV> function, P parameter)
Description copied from interface:MutableCollection
Returns the final result of evaluating function using each element of the iterable, the previous evaluation result and the parameters. The injected value is used for the first parameter of the first evaluation, and the current item in the iterable is used as the second parameter. The parameter value is always used as the third parameter to the function call.- Specified by:
injectIntoWith
in interfaceMutableCollection<T>
- Overrides:
injectIntoWith
in classAbstractMutableList<T>
- See Also:
RichIterable.injectInto(Object, Function2)
-
toList
public FastList<T> toList()
Description copied from interface:RichIterable
Converts the collection to a MutableList implementation.- Specified by:
toList
in interfaceRichIterable<T>
- Overrides:
toList
in classAbstractRichIterable<T>
-
toSortedList
public FastList<T> toSortedList()
Description copied from interface:RichIterable
Converts the collection to a MutableList implementation and sorts it using the natural order of the elements.- Specified by:
toSortedList
in interfaceRichIterable<T>
- Overrides:
toSortedList
in classAbstractMutableList<T>
-
toSortedList
public FastList<T> toSortedList(java.util.Comparator<? super T> comparator)
Description copied from interface:RichIterable
Converts the collection to a MutableList implementation and sorts it using the specified comparator.- Specified by:
toSortedList
in interfaceRichIterable<T>
-
takeWhile
public MutableList<T> takeWhile(Predicate<? super T> predicate)
Description copied from interface:ListIterable
Returns the initial elements that satisfy the Predicate. Short circuits at the first element which does not satisfy the Predicate.- Specified by:
takeWhile
in interfaceListIterable<T>
- Specified by:
takeWhile
in interfaceMutableList<T>
- Specified by:
takeWhile
in interfaceOrderedIterable<T>
- Specified by:
takeWhile
in interfaceReversibleIterable<T>
- Overrides:
takeWhile
in classAbstractMutableList<T>
-
dropWhile
public MutableList<T> dropWhile(Predicate<? super T> predicate)
Description copied from interface:ListIterable
Returns the final elements that do not satisfy the Predicate. Short circuits at the first element which does satisfy the Predicate.- Specified by:
dropWhile
in interfaceListIterable<T>
- Specified by:
dropWhile
in interfaceMutableList<T>
- Specified by:
dropWhile
in interfaceOrderedIterable<T>
- Specified by:
dropWhile
in interfaceReversibleIterable<T>
- Overrides:
dropWhile
in classAbstractMutableList<T>
-
partitionWhile
public PartitionMutableList<T> partitionWhile(Predicate<? super T> predicate)
Description copied from interface:ListIterable
Returns a Partition of the initial elements that satisfy the Predicate and the remaining elements. Short circuits at the first element which does satisfy the Predicate.- Specified by:
partitionWhile
in interfaceListIterable<T>
- Specified by:
partitionWhile
in interfaceMutableList<T>
- Specified by:
partitionWhile
in interfaceOrderedIterable<T>
- Specified by:
partitionWhile
in interfaceReversibleIterable<T>
- Overrides:
partitionWhile
in classAbstractMutableList<T>
-
equals
public boolean equals(java.lang.Object that)
Description copied from interface:ListIterable
Follows the same general contract asList.equals(Object)
.- Specified by:
equals
in interfacejava.util.Collection<T>
- Specified by:
equals
in interfacejava.util.List<T>
- Specified by:
equals
in interfaceListIterable<T>
- Overrides:
equals
in classAbstractMutableList<T>
-
fastListEquals
public boolean fastListEquals(FastList<?> that)
-
hashCode
public int hashCode()
Description copied from interface:ListIterable
Follows the same general contract asList.hashCode()
.- Specified by:
hashCode
in interfacejava.util.Collection<T>
- Specified by:
hashCode
in interfacejava.util.List<T>
- Specified by:
hashCode
in interfaceListIterable<T>
- Overrides:
hashCode
in classAbstractMutableList<T>
-
replaceAll
public void replaceAll(java.util.function.UnaryOperator<T> operator)
- Specified by:
replaceAll
in interfacejava.util.List<T>
- Since:
- 10.0
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
- Specified by:
writeExternal
in interfacejava.io.Externalizable
- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException
- Specified by:
readExternal
in interfacejava.io.Externalizable
- Throws:
java.io.IOException
java.lang.ClassNotFoundException
-
-