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_ARRAYprotected T[]itemsprivate static intMAXIMUM_ARRAY_SIZEprivate static longserialVersionUIDprotected intsizeprivate static java.lang.Object[]ZERO_SIZED_ARRAY
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(int index, T element)booleanadd(T newItem)booleanaddAll(int index, java.util.Collection<? extends T> source)booleanaddAll(java.util.Collection<? extends T> source)private voidaddAllArrayList(java.util.ArrayList<T> source)private voidaddAllArrayListAtIndex(java.util.ArrayList<T> source, int index)private voidaddAllCollection(java.util.Collection<? extends T> source)private voidaddAllCollectionAtIndex(java.util.Collection<? extends T> source, int index)private voidaddAllFastList(FastList<T> source)private voidaddAllFastListAtIndex(FastList<T> source, int index)private voidaddAllRandomAccessList(java.util.List<T> source)private voidaddAllRandomAccessListAtIndex(java.util.List<T> source, int index)private voidaddAtIndex(int index, T element)booleanallSatisfy(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> booleanallSatisfyWith(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.booleananySatisfy(Predicate<? super T> predicate)Returns true if the predicate evaluates to true for any element of the iterable.<P> booleananySatisfyWith(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.voidappendString(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.voidbatchForEach(Procedure<? super T> procedure, int sectionIndex, int sectionCount)voidclear()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 specifiedtargetcollection.<R extends MutableBooleanCollection>
RcollectBoolean(BooleanFunction<? super T> booleanFunction, R target)Same asRichIterable.collectBoolean(BooleanFunction), except that the results are gathered into the specifiedtargetcollection.<R extends MutableByteCollection>
RcollectByte(ByteFunction<? super T> byteFunction, R target)Same asRichIterable.collectByte(ByteFunction), except that the results are gathered into the specifiedtargetcollection.<R extends MutableCharCollection>
RcollectChar(CharFunction<? super T> charFunction, R target)Same asRichIterable.collectChar(CharFunction), except that the results are gathered into the specifiedtargetcollection.<R extends MutableDoubleCollection>
RcollectDouble(DoubleFunction<? super T> doubleFunction, R target)Same asRichIterable.collectDouble(DoubleFunction), except that the results are gathered into the specifiedtargetcollection.<R extends MutableFloatCollection>
RcollectFloat(FloatFunction<? super T> floatFunction, R target)Same asRichIterable.collectFloat(FloatFunction), except that the results are gathered into the specifiedtargetcollection.<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 specifiedtargetcollection.<R extends MutableLongCollection>
RcollectLong(LongFunction<? super T> longFunction, R target)Same asRichIterable.collectLong(LongFunction), except that the results are gathered into the specifiedtargetcollection.<R extends MutableShortCollection>
RcollectShort(ShortFunction<? super T> shortFunction, R target)Same asRichIterable.collectShort(ShortFunction), except that the results are gathered into the specifiedtargetcollection.<P,V>
FastList<V>collectWith(Function2<? super T,? super P,? extends V> function, P parameter)Same asRichIterable.collect(Function)with aFunction2and 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.private java.lang.Object[]copyItemsWithNewCapacity(int newCapacity)<S> booleancorresponds(OrderedIterable<S> other, Predicate2<? super T,? super S> predicate)Returns true if both OrderedIterables have the same length andpredicatereturns true for all corresponding elements e1 of thisOrderedIterableand e2 ofother.intcount(Predicate<? super T> predicate)Return the total number of elements that answer true to the specified predicate.<P> intcountWith(Predicate2<? super T,? super P> predicate, P parameter)Returns the total number of elements that evaluate to true for the specified predicate.Tdetect(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.intdetectIndex(Predicate<? super T> predicate)Returns the index of the first element of theOrderedIterablefor which thepredicateevaluates to true.intdetectLastIndex(Predicate<? super T> predicate)Returns the index of the last element of theReversibleIterablefor which thepredicateevaluates to true.private intdetectNotIndex(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> TdetectWith(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 newListIterablecontaining the distinct elements in this list.MutableList<T>distinct(HashingStrategy<? super T> hashingStrategy)Returns a newListIterablecontaining the distinct elements in this list.MutableList<T>drop(int count)Returns an iterable after skipping the firstcountelements or an empty iterable if thecountis greater than the length of the iterable.MutableList<T>dropWhile(Predicate<? super T> predicate)Returns the final elements that do not satisfy the Predicate.voideach(Procedure<? super T> procedure)The procedure is executed for each element in the iterable.voidensureCapacity(int minCapacity)private voidensureCapacityForAdd()private intensureCapacityForAddAll(java.util.Collection<T> source)booleanequals(java.lang.Object that)Follows the same general contract asList.equals(Object).booleanfastListEquals(FastList<?> that)<V> FastList<V>flatCollect(Function<? super T,? extends java.lang.Iterable<V>> function)flatCollectis 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.voidforEach(int from, int to, Procedure<? super T> procedure)Iterates over the section of the iterable covered by the specified inclusive indexes.voidforEachIf(Predicate<? super T> predicate, Procedure<? super T> procedure)<P> voidforEachWith(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.voidforEachWithIndex(int from, int to, ObjectIntProcedure<? super T> objectIntProcedure)Iterates over the section of the iterable covered by the specified inclusive indexes.voidforEachWithIndex(ObjectIntProcedure<? super T> objectIntProcedure)Iterates over the iterable passing each element and the current relative int index to the specified instance of ObjectIntProcedure.Tget(int index)Returns the item at the specified position in this list iterable.intgetBatchCount(int batchSize)TgetFirst()This default override exists because java.util.List added a default getFirst() method in Java 21.TgetLast()This default override exists because java.util.List added a default getLast() method in Java 21.<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 specifiedtargetmultimap.<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 specifiedtargetmultimap.<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 specifiedtargetmap.inthashCode()Follows the same general contract asList.hashCode().intindexOf(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.doubleinjectInto(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.floatinjectInto(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.intinjectInto(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.longinjectInto(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> IVinjectInto(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.intlastIndexOf(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.Tmax()Returns the maximum element out of this container based on the natural order.Tmax(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.Tmin()Returns the minimum element out of this container based on the natural order.Tmin(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.IndexOutOfBoundsExceptionnewIndexOutOfBoundsException(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 passedelementsargument 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.booleannoneSatisfy(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> booleannoneSatisfyWith(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.voidreadExternal(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> RreduceInPlace(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.Tremove(int index)booleanremove(java.lang.Object object)booleanremoveIf(Predicate<? super T> predicate)Removes all elements in the collection that evaluate to true for the specified predicate.<P> booleanremoveIfWith(Predicate2<? super T,? super P> predicate, P parameter)Removes all elements in the collection that evaluate to true for the specified predicate2 and parameter.voidremoveRange(int fromIndex, int toIndex)Removes from this list all the elements whose index is betweenfromIndex, inclusive, andtoIndex, exclusive.voidreplaceAll(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.Tset(int index, T element)private voidshiftElementsAtIndex(int index, int sourceSize)intsize()Returns the number of items in this iterable.private intsizePlusFiftyPercent(int oldSize)voidsort(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.DoubleSummaryStatisticssummarizeDouble(DoubleFunction<? super T> function)Returns the result of summarizing the value returned from applying the DoubleFunction to each element of the iterable.java.util.DoubleSummaryStatisticssummarizeFloat(FloatFunction<? super T> function)Returns the result of summarizing the value returned from applying the FloatFunction to each element of the iterable.java.util.IntSummaryStatisticssummarizeInt(IntFunction<? super T> function)Returns the result of summarizing the value returned from applying the IntFunction to each element of the iterable.java.util.LongSummaryStatisticssummarizeLong(LongFunction<? super T> function)Returns the result of summarizing the value returned from applying the LongFunction to each element of the iterable.doublesumOfDouble(DoubleFunction<? super T> function)Returns the final double result of evaluating function for each element of the iterable and adding the results together.doublesumOfFloat(FloatFunction<? super T> function)Returns the final double result of evaluating function for each element of the iterable and adding the results together.longsumOfInt(IntFunction<? super T> function)Returns the final long result of evaluating function for each element of the iterable and adding the results together.longsumOfLong(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 firstcountelements of the iterable or all the elements in the iterable ifcountis greater than the length of the iterable.MutableList<T>takeWhile(Predicate<? super T> predicate)Returns the initial elements that satisfy the Predicate.private voidthrowOutOfBounds(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 voidtransferItemsToNewArrayWithCapacity(int newCapacity)voidtrimToSize()booleantrimToSizeIfGreaterThanPercent(double loadFactor)Express load factor as 0.25 to trim a collection with more than 25% excess capacityprivate voidwipeAndResetTheEnd(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)voidwriteExternal(java.io.ObjectOutput out)-
Methods inherited from class org.eclipse.collections.impl.list.mutable.AbstractMutableList
appendString, asParallel, asReversed, asSynchronized, asUnmodifiable, binarySearch, chunk, contains, containsAll, distinctBy, iterator, listIterator, listIterator, newEmpty, removeAll, retainAll, sortThisByBoolean, sortThisByByte, sortThisByChar, sortThisByDouble, sortThisByFloat, sortThisByInt, sortThisByLong, sortThisByShort, subList, subListRangeCheck, 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, containsAllArguments, 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, containsAllArguments, 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, reduceBy, reduceBy, 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 passedelementsargument 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:
clonein interfaceMutableList<T>- Overrides:
clonein classAbstractMutableList<T>
-
removeRange
public void removeRange(int fromIndex, int toIndex)Removes from this list all the elements whose index is betweenfromIndex, inclusive, andtoIndex, exclusive. Shifts any succeeding elements to the left (reduces their index). This call shortens the list by(toIndex - fromIndex)elements. (IftoIndex==fromIndex, this operation has no effect.)- Overrides:
removeRangein classAbstractMutableList<T>- Parameters:
fromIndex- inclusivetoIndex- exclusive
-
clear
public void clear()
- Specified by:
clearin interfacejava.util.Collection<T>- Specified by:
clearin interfacejava.util.List<T>- Overrides:
clearin classAbstractMutableList<T>
-
forEach
public void forEach(int from, int to, Procedure<? super T> procedure)Description copied from interface:OrderedIterableIterates over the section of the iterable covered by the specified inclusive indexes. The indexes are both inclusive.e.g. OrderedIterable<Person> people = FastList.newListWith(ted, mary, bob, sally) people.forEach(0, 1, person -> LOGGER.info(person.getName()));
This code would output ted and mary's names.
- Specified by:
forEachin interfaceOrderedIterable<T>- Overrides:
forEachin classAbstractMutableList<T>
-
forEachWithIndex
public void forEachWithIndex(int from, int to, ObjectIntProcedure<? super T> objectIntProcedure)Description copied from interface:OrderedIterableIterates 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, (person, index) -> LOGGER.info(person.getName()));
This code would output ted and mary's names.
- Specified by:
forEachWithIndexin interfaceOrderedIterable<T>- Overrides:
forEachWithIndexin classAbstractMutableList<T>
-
batchForEach
public void batchForEach(Procedure<? super T> procedure, int sectionIndex, int sectionCount)
- Specified by:
batchForEachin interfaceBatchIterable<T>
-
getBatchCount
public int getBatchCount(int batchSize)
- Specified by:
getBatchCountin 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:
sortin 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:MutableListSorts the internal data structure of this list and returns the list itself as a convenience.- Specified by:
sortThisin interfaceMutableList<T>
-
sortThis
public FastList<T> sortThis()
Description copied from interface:MutableListSorts the internal data structure of this list and returns the list itself as a convenience.- Specified by:
sortThisin interfaceMutableList<T>
-
reverseThis
public FastList<T> reverseThis()
Description copied from interface:MutableListMutates this list by reversing its order and returns the current list as a result.- Specified by:
reverseThisin interfaceMutableList<T>
-
addAll
public boolean addAll(java.util.Collection<? extends T> source)
- Specified by:
addAllin interfacejava.util.Collection<T>- Specified by:
addAllin interfacejava.util.List<T>- Overrides:
addAllin 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)
-
toArray
public <E> E[] toArray(E[] array)
Description copied from interface:RichIterableConverts this iterable to an array using the specified target array, assuming the target array is as long or longer than the iterable.- Specified by:
toArrayin interfacejava.util.Collection<T>- Specified by:
toArrayin interfacejava.util.List<T>- Specified by:
toArrayin interfaceMutableCollection<T>- Specified by:
toArrayin interfaceMutableList<T>- Specified by:
toArrayin interfaceRichIterable<T>- See Also:
Collection.toArray(Object[])
-
toArray
public java.lang.Object[] toArray()
Description copied from interface:RichIterableConverts this iterable to an array.- Specified by:
toArrayin interfacejava.util.Collection<T>- Specified by:
toArrayin interfacejava.util.List<T>- Specified by:
toArrayin interfaceMutableCollection<T>- Specified by:
toArrayin interfaceMutableList<T>- Specified by:
toArrayin interfaceRichIterable<T>- See Also:
Collection.toArray()
-
throwOutOfBounds
private void throwOutOfBounds(int index)
-
indexOf
public int indexOf(java.lang.Object object)
Description copied from interface:OrderedIterableReturns 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:
indexOfin interfacejava.util.List<T>- Specified by:
indexOfin interfaceMutableList<T>- Specified by:
indexOfin interfaceOrderedIterable<T>- Overrides:
indexOfin classAbstractMutableList<T>- See Also:
List.indexOf(Object)
-
lastIndexOf
public int lastIndexOf(java.lang.Object object)
Description copied from interface:ListIterableReturns 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:
lastIndexOfin interfacejava.util.List<T>- Specified by:
lastIndexOfin interfaceListIterable<T>- Overrides:
lastIndexOfin 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:MutableListThis default override exists because java.util.List added a default getFirst() method in Java 21.- Specified by:
getFirstin interfaceListIterable<T>- Specified by:
getFirstin interfaceMutableList<T>- Specified by:
getFirstin interfaceOrderedIterable<T>- Specified by:
getFirstin interfaceRichIterable<T>- Overrides:
getFirstin classAbstractMutableList<T>
-
getLast
public T getLast()
Description copied from interface:MutableListThis default override exists because java.util.List added a default getLast() method in Java 21.- Specified by:
getLastin interfaceListIterable<T>- Specified by:
getLastin interfaceMutableList<T>- Specified by:
getLastin interfaceOrderedIterable<T>- Specified by:
getLastin interfaceRichIterable<T>- Overrides:
getLastin classAbstractMutableList<T>
-
groupBy
public <V> FastListMultimap<V,T> groupBy(Function<? super T,? extends V> function)
Description copied from interface:MutableCollectionFor 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);Co-variant example for MutableCollection:MutableMultimap<String, Person> peopleByLastName = people.groupBy(Person::getLastName);- Specified by:
groupByin interfaceListIterable<T>- Specified by:
groupByin interfaceMutableCollection<T>- Specified by:
groupByin interfaceMutableList<T>- Specified by:
groupByin interfaceOrderedIterable<T>- Specified by:
groupByin interfaceReversibleIterable<T>- Specified by:
groupByin interfaceRichIterable<T>- Overrides:
groupByin classAbstractMutableList<T>
-
groupBy
public <V,R extends MutableMultimap<V,T>> R groupBy(Function<? super T,? extends V> function, R target)
Description copied from interface:RichIterableSame asRichIterable.groupBy(Function), except that the results are gathered into the specifiedtargetmultimap.Example using a Java 8 method reference:
FastListMultimap<String, Person> peopleByLastName = people.groupBy(Person::getLastName, new FastListMultimap<String, Person>());- Specified by:
groupByin interfaceRichIterable<T>- Overrides:
groupByin classAbstractRichIterable<T>
-
groupByEach
public <V> FastListMultimap<V,T> groupByEach(Function<? super T,? extends java.lang.Iterable<V>> function)
Description copied from interface:RichIterableSimilar toRichIterable.groupBy(Function), except the result of evaluating function will return a collection of keys for each value.- Specified by:
groupByEachin interfaceListIterable<T>- Specified by:
groupByEachin interfaceMutableCollection<T>- Specified by:
groupByEachin interfaceMutableList<T>- Specified by:
groupByEachin interfaceOrderedIterable<T>- Specified by:
groupByEachin interfaceReversibleIterable<T>- Specified by:
groupByEachin interfaceRichIterable<T>- Overrides:
groupByEachin 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:RichIterableSame asRichIterable.groupByEach(Function), except that the results are gathered into the specifiedtargetmultimap.- Specified by:
groupByEachin interfaceRichIterable<T>- Overrides:
groupByEachin classAbstractRichIterable<T>
-
groupByUniqueKey
public <K> MutableMap<K,T> groupByUniqueKey(Function<? super T,? extends K> function)
Description copied from interface:RichIterableFor 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:
groupByUniqueKeyin interfaceMutableCollection<T>- Specified by:
groupByUniqueKeyin interfaceRichIterable<T>- Overrides:
groupByUniqueKeyin 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:RichIterableSame asRichIterable.groupByUniqueKey(Function), except that the results are gathered into the specifiedtargetmap.- Specified by:
groupByUniqueKeyin interfaceRichIterable<T>- Overrides:
groupByUniqueKeyin 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:RichIterablePrints a string representation of this collection onto the givenAppendable. Prints the string returned byRichIterable.makeString(String, String, String).- Specified by:
appendStringin interfaceRichIterable<T>- Overrides:
appendStringin classAbstractMutableList<T>
-
take
public MutableList<T> take(int count)
Description copied from interface:ReversibleIterableReturns the firstcountelements of the iterable or all the elements in the iterable ifcountis greater than the length of the iterable.- Specified by:
takein interfaceListIterable<T>- Specified by:
takein interfaceMutableList<T>- Specified by:
takein interfaceReversibleIterable<T>- Overrides:
takein classAbstractMutableList<T>- Parameters:
count- the number of items to take.
-
drop
public MutableList<T> drop(int count)
Description copied from interface:ReversibleIterableReturns an iterable after skipping the firstcountelements or an empty iterable if thecountis greater than the length of the iterable.- Specified by:
dropin interfaceListIterable<T>- Specified by:
dropin interfaceMutableList<T>- Specified by:
dropin interfaceReversibleIterable<T>- Overrides:
dropin classAbstractMutableList<T>- Parameters:
count- the number of items to drop.
-
partition
public PartitionFastList<T> partition(Predicate<? super T> predicate)
Description copied from interface:MutableCollectionFilters 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"));Co-variant example for MutableCollection:PartitionMutableCollection<Person> newYorkersAndNonNewYorkers = people.partition(person -> person.getAddress().getState().getName().equals("New York"));- Specified by:
partitionin interfaceListIterable<T>- Specified by:
partitionin interfaceMutableCollection<T>- Specified by:
partitionin interfaceMutableList<T>- Specified by:
partitionin interfaceOrderedIterable<T>- Specified by:
partitionin interfaceReversibleIterable<T>- Specified by:
partitionin interfaceRichIterable<T>- Overrides:
partitionin classAbstractMutableList<T>
-
partitionWith
public <P> PartitionFastList<T> partitionWith(Predicate2<? super T,? super P> predicate, P parameter)
Description copied from interface:MutableCollectionFilters 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");Co-variant example for MutableCollection:PartitionMutableCollection<Person> newYorkersAndNonNewYorkers = people.partitionWith((Person person, String state) -> person.getAddress().getState().getName().equals(state), "New York");- Specified by:
partitionWithin interfaceListIterable<T>- Specified by:
partitionWithin interfaceMutableCollection<T>- Specified by:
partitionWithin interfaceMutableList<T>- Specified by:
partitionWithin interfaceOrderedIterable<T>- Specified by:
partitionWithin interfaceReversibleIterable<T>- Specified by:
partitionWithin interfaceRichIterable<T>- Overrides:
partitionWithin classAbstractMutableList<T>
-
each
public void each(Procedure<? super T> procedure)
Description copied from interface:RichIterableThe procedure is executed for each element in the iterable.Example using a Java 8 lambda expression:
people.each(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:
eachin interfaceRichIterable<T>- Overrides:
eachin 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:InternalIterableIterates 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:
forEachWithIndexin interfaceInternalIterable<T>- Specified by:
forEachWithIndexin interfaceOrderedIterable<T>- Overrides:
forEachWithIndexin classAbstractMutableList<T>
-
forEachWith
public <P> void forEachWith(Procedure2<? super T,? super P> procedure, P parameter)
Description copied from interface:InternalIterableThe 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:
forEachWithin interfaceInternalIterable<T>- Overrides:
forEachWithin classAbstractMutableList<T>
-
select
public FastList<T> select(Predicate<? super T> predicate)
Description copied from interface:MutableCollectionReturns 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:
selectin interfaceListIterable<T>- Specified by:
selectin interfaceMutableCollection<T>- Specified by:
selectin interfaceMutableList<T>- Specified by:
selectin interfaceOrderedIterable<T>- Specified by:
selectin interfaceReversibleIterable<T>- Specified by:
selectin interfaceRichIterable<T>
-
select
public <R extends java.util.Collection<T>> R select(Predicate<? super T> predicate, R target)
Description copied from interface:RichIterableSame 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());- Specified by:
selectin interfaceRichIterable<T>- Overrides:
selectin classAbstractMutableList<T>- Parameters:
predicate- aPredicateto use as the select criteriatarget- the Collection to append to for all elements in thisRichIterablethat 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:MutableCollectionReturns 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:
selectWithin interfaceListIterable<T>- Specified by:
selectWithin interfaceMutableCollection<T>- Specified by:
selectWithin interfaceMutableList<T>- Specified by:
selectWithin interfaceOrderedIterable<T>- Specified by:
selectWithin interfaceReversibleIterable<T>- Specified by:
selectWithin interfaceRichIterable<T>- Parameters:
predicate- aPredicate2to use as the select criteriaparameter- a parameter to pass in for evaluation of the second argumentPinpredicate- 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:RichIterableSimilar toRichIterable.select(Predicate, Collection), except with an evaluation parameter for the second generic argument inPredicate2.E.g. return a
Collectionof 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());- Specified by:
selectWithin interfaceRichIterable<T>- Overrides:
selectWithin classAbstractMutableList<T>- Parameters:
predicate- aPredicate2to use as the select criteriaparameter- a parameter to pass in for evaluation of the second argumentPinpredicatetarget- the Collection to append to for all elements in thisRichIterablethat 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:MutableCollectionReturns 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 thePredicatesfactory:MutableCollection<Person> notSmiths = people.reject(Predicates.attributeEqual("lastName", "Smith"));- Specified by:
rejectin interfaceListIterable<T>- Specified by:
rejectin interfaceMutableCollection<T>- Specified by:
rejectin interfaceMutableList<T>- Specified by:
rejectin interfaceOrderedIterable<T>- Specified by:
rejectin interfaceReversibleIterable<T>- Specified by:
rejectin interfaceRichIterable<T>- Parameters:
predicate- aPredicateto 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:RichIterableSame 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());- Specified by:
rejectin interfaceRichIterable<T>- Overrides:
rejectin classAbstractMutableList<T>- Parameters:
predicate- aPredicateto use as the reject criteriatarget- the Collection to append to for all elements in thisRichIterablethat 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:MutableCollectionReturns 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:
rejectWithin interfaceListIterable<T>- Specified by:
rejectWithin interfaceMutableCollection<T>- Specified by:
rejectWithin interfaceMutableList<T>- Specified by:
rejectWithin interfaceOrderedIterable<T>- Specified by:
rejectWithin interfaceReversibleIterable<T>- Specified by:
rejectWithin interfaceRichIterable<T>- Parameters:
predicate- aPredicate2to use as the select criteriaparameter- a parameter to pass in for evaluation of the second argumentPinpredicate- 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:RichIterableSimilar toRichIterable.reject(Predicate, Collection), except with an evaluation parameter for the second generic argument inPredicate2.E.g. return a
Collectionof 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());- Specified by:
rejectWithin interfaceRichIterable<T>- Overrides:
rejectWithin classAbstractMutableList<T>- Parameters:
predicate- aPredicate2to use as the reject criteriaparameter- a parameter to pass in for evaluation of the second argumentPinpredicatetarget- the Collection to append to for all elements in thisRichIterablethat 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:MutableCollectionFilters a collection into two separate collections based on a predicate returned via a Pair.e.g. return lastNames.selectAndRejectWith(Predicates2.lessThan(), "Mason");
- Specified by:
selectAndRejectWithin interfaceMutableCollection<T>- Overrides:
selectAndRejectWithin classAbstractMutableList<T>
-
selectInstancesOf
public <S> FastList<S> selectInstancesOf(java.lang.Class<S> clazz)
Description copied from interface:MutableCollectionReturns 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:
selectInstancesOfin interfaceListIterable<T>- Specified by:
selectInstancesOfin interfaceMutableCollection<T>- Specified by:
selectInstancesOfin interfaceMutableList<T>- Specified by:
selectInstancesOfin interfaceOrderedIterable<T>- Specified by:
selectInstancesOfin interfaceReversibleIterable<T>- Specified by:
selectInstancesOfin interfaceRichIterable<T>- Overrides:
selectInstancesOfin classAbstractMutableList<T>
-
removeIf
public boolean removeIf(Predicate<? super T> predicate)
Description copied from interface:MutableCollectionRemoves all elements in the collection that evaluate to true for the specified predicate.e.g. return lastNames.removeIf(Predicates.isNull());
- Specified by:
removeIfin interfaceMutableCollection<T>- Overrides:
removeIfin 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:MutableCollectionRemoves all elements in the collection that evaluate to true for the specified predicate2 and parameter.return lastNames.removeIfWith(Predicates2.isNull(), null);
- Specified by:
removeIfWithin interfaceMutableCollection<T>- Overrides:
removeIfWithin classAbstractMutableList<T>
-
collect
public <V> FastList<V> collect(Function<? super T,? extends V> function)
Description copied from interface:MutableCollectionReturns 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:
collectin interfaceListIterable<T>- Specified by:
collectin interfaceMutableCollection<T>- Specified by:
collectin interfaceMutableList<T>- Specified by:
collectin interfaceOrderedIterable<T>- Specified by:
collectin interfaceReversibleIterable<T>- Specified by:
collectin interfaceRichIterable<T>
-
collectBoolean
public <R extends MutableBooleanCollection> R collectBoolean(BooleanFunction<? super T> booleanFunction, R target)
Description copied from interface:RichIterableSame asRichIterable.collectBoolean(BooleanFunction), except that the results are gathered into the specifiedtargetcollection.Example using a Java 8 lambda expression:
BooleanArrayList licenses = people.collectBoolean(person -> person.hasDrivingLicense(), new BooleanArrayList());- Specified by:
collectBooleanin interfaceRichIterable<T>- Parameters:
booleanFunction- aBooleanFunctionto 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:RichIterableSame as flatCollect, only the results are collected into the target collection.- Specified by:
flatCollectBooleanin interfaceRichIterable<T>- Parameters:
function- TheFunctionto 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:RichIterableSame asRichIterable.collectByte(ByteFunction), except that the results are gathered into the specifiedtargetcollection.Example using a Java 8 lambda expression:
ByteArrayList bytes = people.collectByte(person -> person.getCode(), new ByteArrayList());- Specified by:
collectBytein interfaceRichIterable<T>- Parameters:
byteFunction- aByteFunctionto 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:RichIterableSame as flatCollect, only the results are collected into the target collection.- Specified by:
flatCollectBytein interfaceRichIterable<T>- Parameters:
function- TheFunctionto 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:RichIterableSame asRichIterable.collectChar(CharFunction), except that the results are gathered into the specifiedtargetcollection.Example using a Java 8 lambda expression:
CharArrayList chars = people.collectChar(person -> person.getMiddleInitial(), new CharArrayList());- Specified by:
collectCharin interfaceRichIterable<T>- Parameters:
charFunction- aCharFunctionto 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:RichIterableSame as flatCollect, only the results are collected into the target collection.- Specified by:
flatCollectCharin interfaceRichIterable<T>- Parameters:
function- TheFunctionto 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:RichIterableSame asRichIterable.collectDouble(DoubleFunction), except that the results are gathered into the specifiedtargetcollection.Example using a Java 8 lambda expression:
DoubleArrayList doubles = people.collectDouble(person -> person.getMilesFromNorthPole(), new DoubleArrayList());- Specified by:
collectDoublein interfaceRichIterable<T>- Parameters:
doubleFunction- aDoubleFunctionto 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:RichIterableSame as flatCollect, only the results are collected into the target collection.- Specified by:
flatCollectDoublein interfaceRichIterable<T>- Parameters:
function- TheFunctionto 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:RichIterableSame asRichIterable.collectFloat(FloatFunction), except that the results are gathered into the specifiedtargetcollection.Example using a Java 8 lambda expression:
FloatArrayList floats = people.collectFloat(person -> person.getHeightInInches(), new FloatArrayList());- Specified by:
collectFloatin interfaceRichIterable<T>- Parameters:
floatFunction- aFloatFunctionto 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:RichIterableSame as flatCollect, only the results are collected into the target collection.- Specified by:
flatCollectFloatin interfaceRichIterable<T>- Parameters:
function- TheFunctionto 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:RichIterableSame asRichIterable.collectInt(IntFunction), except that the results are gathered into the specifiedtargetcollection.Example using a Java 8 lambda expression:
IntArrayList ints = people.collectInt(person -> person.getAge(), new IntArrayList());- Specified by:
collectIntin interfaceRichIterable<T>- Parameters:
intFunction- aIntFunctionto 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:RichIterableSame as flatCollect, only the results are collected into the target collection.- Specified by:
flatCollectIntin interfaceRichIterable<T>- Parameters:
function- TheFunctionto 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:RichIterableSame asRichIterable.collectLong(LongFunction), except that the results are gathered into the specifiedtargetcollection.Example using a Java 8 lambda expression:
LongArrayList longs = people.collectLong(person -> person.getGuid(), new LongArrayList());- Specified by:
collectLongin interfaceRichIterable<T>- Parameters:
longFunction- aLongFunctionto 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:RichIterableSame as flatCollect, only the results are collected into the target collection.- Specified by:
flatCollectLongin interfaceRichIterable<T>- Parameters:
function- TheFunctionto 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:RichIterableSame asRichIterable.collectShort(ShortFunction), except that the results are gathered into the specifiedtargetcollection.Example using a Java 8 lambda expression:
ShortArrayList shorts = people.collectShort(person -> person.getNumberOfJunkMailItemsReceivedPerMonth, new ShortArrayList());- Specified by:
collectShortin interfaceRichIterable<T>- Parameters:
shortFunction- aShortFunctionto 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:RichIterableSame as flatCollect, only the results are collected into the target collection.- Specified by:
flatCollectShortin interfaceRichIterable<T>- Parameters:
function- TheFunctionto 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:RichIterableSame asRichIterable.collect(Function), except that the results are gathered into the specifiedtargetcollection.Example using a Java 8 lambda expression:
MutableList<String> names = people.collect(person -> person.getFirstName() + " " + person.getLastName(), Lists.mutable.empty());- Specified by:
collectin interfaceRichIterable<T>- Overrides:
collectin classAbstractMutableList<T>- Parameters:
function- aFunctionto use as the collect transformation functiontarget- the Collection to append to for all elements in thisRichIterablethat 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:OrderedIterableReturns a new OrderedIterable using results obtained by applying the specified function to each element and its corresponding index.- Specified by:
collectWithIndexin interfaceListIterable<T>- Specified by:
collectWithIndexin interfaceMutableList<T>- Specified by:
collectWithIndexin interfaceOrderedIterable<T>- Specified by:
collectWithIndexin 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:OrderedIterableAdds elements to the target Collection using results obtained by applying the specified function to each element and its corresponding index.- Specified by:
collectWithIndexin interfaceOrderedIterable<T>- Since:
- 9.1.
-
selectWithIndex
public MutableList<T> selectWithIndex(ObjectIntPredicate<? super T> predicate)
Description copied from interface:MutableListReturns 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:
selectWithIndexin interfaceListIterable<T>- Specified by:
selectWithIndexin interfaceMutableList<T>- Since:
- 11.0
-
rejectWithIndex
public MutableList<T> rejectWithIndex(ObjectIntPredicate<? super T> predicate)
Description copied from interface:MutableListReturns 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:
rejectWithIndexin interfaceListIterable<T>- Specified by:
rejectWithIndexin 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:OrderedIterableAdds 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:
selectWithIndexin 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:OrderedIterableAdds 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:
rejectWithIndexin interfaceOrderedIterable<T>- Since:
- 11.0
-
flatCollect
public <V> FastList<V> flatCollect(Function<? super T,? extends java.lang.Iterable<V>> function)
Description copied from interface:MutableCollectionflatCollectis a special case ofRichIterable.collect(Function). Withcollect, when theFunctionreturns a collection, the result is a collection of collections.flatCollectoutputs a single "flattened" collection instead. This method is commonly called flatMap.Consider the following example where we have a
Personclass, and eachPersonhas a list ofAddressobjects. Take the followingFunction:Function<Person, List<Address>> addressFunction = Person::getAddresses; RichIterable<Person> people = ...;
Usingcollectreturns a collection of collections of addresses.RichIterable<List<Address>> addresses = people.collect(addressFunction);
UsingflatCollectreturns 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:
flatCollectin interfaceListIterable<T>- Specified by:
flatCollectin interfaceMutableCollection<T>- Specified by:
flatCollectin interfaceMutableList<T>- Specified by:
flatCollectin interfaceOrderedIterable<T>- Specified by:
flatCollectin interfaceReversibleIterable<T>- Specified by:
flatCollectin interfaceRichIterable<T>- Parameters:
function- TheFunctionto 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:RichIterableSame as flatCollect, only the results are collected into the target collection.- Specified by:
flatCollectin interfaceRichIterable<T>- Overrides:
flatCollectin classAbstractMutableList<T>- Parameters:
function- TheFunctionto 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:MutableCollectionSame asRichIterable.collect(Function)with aFunction2and 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));Co-variant example for MutableCollection:MutableCollection<Integer> integers = Lists.mutable.with(1, 2, 3).collectWith((each, parameter) -> each + parameter, Integer.valueOf(1));- Specified by:
collectWithin interfaceListIterable<T>- Specified by:
collectWithin interfaceMutableCollection<T>- Specified by:
collectWithin interfaceMutableList<T>- Specified by:
collectWithin interfaceOrderedIterable<T>- Specified by:
collectWithin interfaceReversibleIterable<T>- Specified by:
collectWithin interfaceRichIterable<T>- Parameters:
function- AFunction2to use as the collect transformation functionparameter- A parameter to pass in for evaluation of the second argumentPinfunction- Returns:
- A new
RichIterablethat 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:RichIterableSame 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());- Specified by:
collectWithin interfaceRichIterable<T>- Overrides:
collectWithin classAbstractMutableList<T>- Parameters:
function- aFunction2to use as the collect transformation functionparameter- a parameter to pass in for evaluation of the second argumentPinfunctiontarget- the Collection to append to for all elements in thisRichIterablethat 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:MutableCollectionReturns 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:
collectIfin interfaceListIterable<T>- Specified by:
collectIfin interfaceMutableCollection<T>- Specified by:
collectIfin interfaceMutableList<T>- Specified by:
collectIfin interfaceOrderedIterable<T>- Specified by:
collectIfin interfaceReversibleIterable<T>- Specified by:
collectIfin 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:RichIterableSame as the collectIf method with two parameters but uses the specified target collection for the results.- Specified by:
collectIfin interfaceRichIterable<T>- Overrides:
collectIfin classAbstractMutableList<T>- Parameters:
predicate- aPredicateto use as the select criteriafunction- aFunctionto use as the collect transformation functiontarget- the Collection to append to for all elements in thisRichIterablethat 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:RichIterableReturns 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"));- Specified by:
detectin interfaceRichIterable<T>- Overrides:
detectin classAbstractMutableList<T>
-
detectWith
public <P> T detectWith(Predicate2<? super T,? super P> predicate, P parameter)
Description copied from interface:RichIterableReturns 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");- Specified by:
detectWithin interfaceRichIterable<T>- Overrides:
detectWithin classAbstractMutableList<T>
-
detectOptional
public java.util.Optional<T> detectOptional(Predicate<? super T> predicate)
Description copied from interface:RichIterableReturns 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:
detectOptionalin interfaceRichIterable<T>- Overrides:
detectOptionalin classAbstractMutableList<T>
-
detectWithOptional
public <P> java.util.Optional<T> detectWithOptional(Predicate2<? super T,? super P> predicate, P parameter)
Description copied from interface:RichIterableReturns 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:
detectWithOptionalin interfaceRichIterable<T>- Overrides:
detectWithOptionalin classAbstractMutableList<T>
-
detectIndex
public int detectIndex(Predicate<? super T> predicate)
Description copied from interface:OrderedIterableReturns the index of the first element of theOrderedIterablefor which thepredicateevaluates to true. Returns -1 if no element evaluates true for thepredicate.- Specified by:
detectIndexin interfaceOrderedIterable<T>- Overrides:
detectIndexin classAbstractMutableList<T>
-
detectLastIndex
public int detectLastIndex(Predicate<? super T> predicate)
Description copied from interface:ReversibleIterableReturns the index of the last element of theReversibleIterablefor which thepredicateevaluates to true. Returns -1 if no element evaluates true for thepredicate.- Specified by:
detectLastIndexin interfaceReversibleIterable<T>- Overrides:
detectLastIndexin classAbstractMutableList<T>
-
min
public T min(java.util.Comparator<? super T> comparator)
Description copied from interface:RichIterableReturns the minimum element out of this container based on the comparator.- Specified by:
minin interfaceRichIterable<T>- Overrides:
minin classAbstractMutableList<T>
-
max
public T max(java.util.Comparator<? super T> comparator)
Description copied from interface:RichIterableReturns the maximum element out of this container based on the comparator.- Specified by:
maxin interfaceRichIterable<T>- Overrides:
maxin classAbstractMutableList<T>
-
min
public T min()
Description copied from interface:RichIterableReturns the minimum element out of this container based on the natural order.- Specified by:
minin interfaceOrderedIterable<T>- Specified by:
minin interfaceRichIterable<T>- Overrides:
minin classAbstractMutableList<T>
-
max
public T max()
Description copied from interface:RichIterableReturns the maximum element out of this container based on the natural order.- Specified by:
maxin interfaceOrderedIterable<T>- Specified by:
maxin interfaceRichIterable<T>- Overrides:
maxin classAbstractMutableList<T>
-
minBy
public <V extends java.lang.Comparable<? super V>> T minBy(Function<? super T,? extends V> function)
Description copied from interface:RichIterableReturns the minimum elements out of this container based on the natural order of the attribute returned by Function.- Specified by:
minByin interfaceRichIterable<T>- Overrides:
minByin classAbstractMutableList<T>
-
maxBy
public <V extends java.lang.Comparable<? super V>> T maxBy(Function<? super T,? extends V> function)
Description copied from interface:RichIterableReturns the maximum elements out of this container based on the natural order of the attribute returned by Function.- Specified by:
maxByin interfaceRichIterable<T>- Overrides:
maxByin classAbstractMutableList<T>
-
get
public T get(int index)
Description copied from interface:ListIterableReturns the item at the specified position in this list iterable.- Specified by:
getin interfacejava.util.List<T>- Specified by:
getin interfaceListIterable<T>
-
newIndexOutOfBoundsException
private java.lang.IndexOutOfBoundsException newIndexOutOfBoundsException(int index)
-
add
public boolean add(T newItem)
- Specified by:
addin interfacejava.util.Collection<T>- Specified by:
addin interfacejava.util.List<T>- Overrides:
addin 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:
removein interfacejava.util.Collection<T>- Specified by:
removein interfacejava.util.List<T>- Overrides:
removein classAbstractMutableCollection<T>
-
addAll
public boolean addAll(int index, java.util.Collection<? extends T> source)- Specified by:
addAllin 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:RichIterableReturns the number of items in this iterable.- Specified by:
sizein interfaceBatchIterable<T>- Specified by:
sizein interfacejava.util.Collection<T>- Specified by:
sizein interfacejava.util.List<T>- Specified by:
sizein interfaceRichIterable<T>
-
count
public int count(Predicate<? super T> predicate)
Description copied from interface:RichIterableReturn 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"));- Specified by:
countin interfaceRichIterable<T>- Overrides:
countin classAbstractMutableList<T>
-
countWith
public <P> int countWith(Predicate2<? super T,? super P> predicate, P parameter)
Description copied from interface:RichIterableReturns the total number of elements that evaluate to true for the specified predicate.e.g. return lastNames.countWith(Predicates2.equal(), "Smith");
- Specified by:
countWithin interfaceRichIterable<T>- Overrides:
countWithin classAbstractMutableList<T>
-
corresponds
public <S> boolean corresponds(OrderedIterable<S> other, Predicate2<? super T,? super S> predicate)
Description copied from interface:OrderedIterableReturns true if both OrderedIterables have the same length andpredicatereturns true for all corresponding elements e1 of thisOrderedIterableand e2 ofother. Thepredicateis evaluated for each element at the same position of eachOrderedIterablein a forward iteration order. This is a short circuit pattern.- Specified by:
correspondsin interfaceOrderedIterable<T>- Overrides:
correspondsin classAbstractMutableList<T>
-
anySatisfy
public boolean anySatisfy(Predicate<? super T> predicate)
Description copied from interface:RichIterableReturns 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:
anySatisfyin interfaceRichIterable<T>- Overrides:
anySatisfyin classAbstractMutableList<T>
-
anySatisfyWith
public <P> boolean anySatisfyWith(Predicate2<? super T,? super P> predicate, P parameter)
Description copied from interface:RichIterableReturns 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:
anySatisfyWithin interfaceRichIterable<T>- Overrides:
anySatisfyWithin classAbstractMutableList<T>
-
allSatisfy
public boolean allSatisfy(Predicate<? super T> predicate)
Description copied from interface:RichIterableReturns true if the predicate evaluates to true for every element of the iterable or if the iterable is empty. Otherwise, returns false.- Specified by:
allSatisfyin interfaceRichIterable<T>- Overrides:
allSatisfyin classAbstractMutableList<T>
-
allSatisfyWith
public <P> boolean allSatisfyWith(Predicate2<? super T,? super P> predicate, P parameter)
Description copied from interface:RichIterableReturns true if the predicate evaluates to true for every element of the collection, or returns false.- Specified by:
allSatisfyWithin interfaceRichIterable<T>- Overrides:
allSatisfyWithin classAbstractMutableList<T>
-
noneSatisfy
public boolean noneSatisfy(Predicate<? super T> predicate)
Description copied from interface:RichIterableReturns true if the predicate evaluates to false for every element of the iterable or if the iterable is empty. Otherwise, returns false.- Specified by:
noneSatisfyin interfaceRichIterable<T>- Overrides:
noneSatisfyin classAbstractMutableList<T>
-
noneSatisfyWith
public <P> boolean noneSatisfyWith(Predicate2<? super T,? super P> predicate, P parameter)
Description copied from interface:RichIterableReturns 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:
noneSatisfyWithin interfaceRichIterable<T>- Overrides:
noneSatisfyWithin classAbstractMutableList<T>
-
injectInto
public <IV> IV injectInto(IV injectedValue, Function2<? super IV,? super T,? extends IV> function)Description copied from interface:RichIterableReturns 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:
injectIntoin interfaceRichIterable<T>- Overrides:
injectIntoin classAbstractMutableList<T>
-
injectInto
public int injectInto(int injectedValue, IntObjectToIntFunction<? super T> function)Description copied from interface:RichIterableReturns 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:
injectIntoin interfaceRichIterable<T>- Overrides:
injectIntoin classAbstractMutableList<T>
-
injectInto
public long injectInto(long injectedValue, LongObjectToLongFunction<? super T> function)Description copied from interface:RichIterableReturns 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:
injectIntoin interfaceRichIterable<T>- Overrides:
injectIntoin classAbstractMutableList<T>
-
injectInto
public double injectInto(double injectedValue, DoubleObjectToDoubleFunction<? super T> function)Description copied from interface:RichIterableReturns 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:
injectIntoin interfaceRichIterable<T>- Overrides:
injectIntoin classAbstractRichIterable<T>
-
injectInto
public float injectInto(float injectedValue, FloatObjectToFloatFunction<? super T> function)Description copied from interface:RichIterableReturns 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:
injectIntoin interfaceRichIterable<T>- Overrides:
injectIntoin classAbstractMutableList<T>
-
distinct
public MutableList<T> distinct()
Description copied from interface:MutableListReturns a newListIterablecontaining the distinct elements in this list.- Specified by:
distinctin interfaceListIterable<T>- Specified by:
distinctin interfaceMutableList<T>- Specified by:
distinctin interfaceOrderedIterable<T>- Specified by:
distinctin interfaceReversibleIterable<T>- Overrides:
distinctin classAbstractMutableList<T>- Returns:
ListIterableof distinct elements
-
distinct
public MutableList<T> distinct(HashingStrategy<? super T> hashingStrategy)
Description copied from interface:MutableListReturns a newListIterablecontaining the distinct elements in this list. Takes HashingStrategy.- Specified by:
distinctin interfaceListIterable<T>- Specified by:
distinctin interfaceMutableList<T>- Overrides:
distinctin classAbstractMutableList<T>- Returns:
ListIterableof distinct elements
-
summarizeInt
public java.util.IntSummaryStatistics summarizeInt(IntFunction<? super T> function)
Description copied from interface:RichIterableReturns 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:
summarizeIntin interfaceRichIterable<T>- Since:
- 8.0
-
summarizeFloat
public java.util.DoubleSummaryStatistics summarizeFloat(FloatFunction<? super T> function)
Description copied from interface:RichIterableReturns 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:
summarizeFloatin interfaceRichIterable<T>- Since:
- 8.0
-
summarizeLong
public java.util.LongSummaryStatistics summarizeLong(LongFunction<? super T> function)
Description copied from interface:RichIterableReturns 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:
summarizeLongin interfaceRichIterable<T>- Since:
- 8.0
-
summarizeDouble
public java.util.DoubleSummaryStatistics summarizeDouble(DoubleFunction<? super T> function)
Description copied from interface:RichIterableReturns 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:
summarizeDoublein interfaceRichIterable<T>- Since:
- 8.0
-
reduce
public java.util.Optional<T> reduce(java.util.function.BinaryOperator<T> accumulator)
Description copied from interface:RichIterableThis method produces the equivalent result asStream.reduce(BinaryOperator).- Specified by:
reducein interfaceRichIterable<T>- Overrides:
reducein classAbstractMutableCollection<T>- Since:
- 8.0
-
reduceInPlace
public <R,A> R reduceInPlace(java.util.stream.Collector<? super T,A,R> collector)
Description copied from interface:RichIterableThis 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:
reduceInPlacein 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:RichIterableThis 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:
reduceInPlacein interfaceRichIterable<T>- Since:
- 8.0
-
sumOfInt
public long sumOfInt(IntFunction<? super T> function)
Description copied from interface:RichIterableReturns the final long result of evaluating function for each element of the iterable and adding the results together.- Specified by:
sumOfIntin interfaceRichIterable<T>- Overrides:
sumOfIntin classAbstractMutableList<T>
-
sumOfLong
public long sumOfLong(LongFunction<? super T> function)
Description copied from interface:RichIterableReturns the final long result of evaluating function for each element of the iterable and adding the results together.- Specified by:
sumOfLongin interfaceRichIterable<T>- Overrides:
sumOfLongin classAbstractMutableList<T>
-
sumOfFloat
public double sumOfFloat(FloatFunction<? super T> function)
Description copied from interface:RichIterableReturns 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:
sumOfFloatin interfaceRichIterable<T>- Overrides:
sumOfFloatin classAbstractMutableList<T>
-
sumOfDouble
public double sumOfDouble(DoubleFunction<? super T> function)
Description copied from interface:RichIterableReturns 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:
sumOfDoublein interfaceRichIterable<T>- Overrides:
sumOfDoublein classAbstractMutableList<T>
-
sumByInt
public <V> MutableObjectLongMap<V> sumByInt(Function<? super T,? extends V> groupBy, IntFunction<? super T> function)
Description copied from interface:RichIterableGroups and sums the values using the two specified functions.- Specified by:
sumByIntin interfaceMutableCollection<T>- Specified by:
sumByIntin interfaceRichIterable<T>- Overrides:
sumByIntin classAbstractMutableCollection<T>
-
sumByLong
public <V> MutableObjectLongMap<V> sumByLong(Function<? super T,? extends V> groupBy, LongFunction<? super T> function)
Description copied from interface:RichIterableGroups and sums the values using the two specified functions.- Specified by:
sumByLongin interfaceMutableCollection<T>- Specified by:
sumByLongin interfaceRichIterable<T>- Overrides:
sumByLongin classAbstractMutableCollection<T>
-
sumByFloat
public <V> MutableObjectDoubleMap<V> sumByFloat(Function<? super T,? extends V> groupBy, FloatFunction<? super T> function)
Description copied from interface:RichIterableGroups and sums the values using the two specified functions.- Specified by:
sumByFloatin interfaceMutableCollection<T>- Specified by:
sumByFloatin interfaceRichIterable<T>- Overrides:
sumByFloatin classAbstractMutableCollection<T>
-
sumByDouble
public <V> MutableObjectDoubleMap<V> sumByDouble(Function<? super T,? extends V> groupBy, DoubleFunction<? super T> function)
Description copied from interface:RichIterableGroups and sums the values using the two specified functions.- Specified by:
sumByDoublein interfaceMutableCollection<T>- Specified by:
sumByDoublein interfaceRichIterable<T>- Overrides:
sumByDoublein 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:MutableCollectionReturns 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:
injectIntoWithin interfaceMutableCollection<T>- Overrides:
injectIntoWithin classAbstractMutableList<T>- See Also:
RichIterable.injectInto(Object, Function2)
-
toList
public FastList<T> toList()
Description copied from interface:RichIterableConverts the collection to a MutableList implementation.- Specified by:
toListin interfaceRichIterable<T>- Overrides:
toListin classAbstractRichIterable<T>
-
toSortedList
public FastList<T> toSortedList()
Description copied from interface:RichIterableConverts the collection to a MutableList implementation and sorts it using the natural order of the elements.- Specified by:
toSortedListin interfaceRichIterable<T>- Overrides:
toSortedListin classAbstractMutableList<T>
-
toSortedList
public FastList<T> toSortedList(java.util.Comparator<? super T> comparator)
Description copied from interface:RichIterableConverts the collection to a MutableList implementation and sorts it using the specified comparator.- Specified by:
toSortedListin interfaceRichIterable<T>
-
takeWhile
public MutableList<T> takeWhile(Predicate<? super T> predicate)
Description copied from interface:ListIterableReturns the initial elements that satisfy the Predicate. Short circuits at the first element which does not satisfy the Predicate.- Specified by:
takeWhilein interfaceListIterable<T>- Specified by:
takeWhilein interfaceMutableList<T>- Specified by:
takeWhilein interfaceOrderedIterable<T>- Specified by:
takeWhilein interfaceReversibleIterable<T>- Overrides:
takeWhilein classAbstractMutableList<T>
-
dropWhile
public MutableList<T> dropWhile(Predicate<? super T> predicate)
Description copied from interface:ListIterableReturns the final elements that do not satisfy the Predicate. Short circuits at the first element which does satisfy the Predicate.- Specified by:
dropWhilein interfaceListIterable<T>- Specified by:
dropWhilein interfaceMutableList<T>- Specified by:
dropWhilein interfaceOrderedIterable<T>- Specified by:
dropWhilein interfaceReversibleIterable<T>- Overrides:
dropWhilein classAbstractMutableList<T>
-
partitionWhile
public PartitionMutableList<T> partitionWhile(Predicate<? super T> predicate)
Description copied from interface:ListIterableReturns 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:
partitionWhilein interfaceListIterable<T>- Specified by:
partitionWhilein interfaceMutableList<T>- Specified by:
partitionWhilein interfaceOrderedIterable<T>- Specified by:
partitionWhilein interfaceReversibleIterable<T>- Overrides:
partitionWhilein classAbstractMutableList<T>
-
equals
public boolean equals(java.lang.Object that)
Description copied from interface:ListIterableFollows the same general contract asList.equals(Object).- Specified by:
equalsin interfacejava.util.Collection<T>- Specified by:
equalsin interfacejava.util.List<T>- Specified by:
equalsin interfaceListIterable<T>- Overrides:
equalsin classAbstractMutableList<T>
-
fastListEquals
public boolean fastListEquals(FastList<?> that)
-
hashCode
public int hashCode()
Description copied from interface:ListIterableFollows the same general contract asList.hashCode().- Specified by:
hashCodein interfacejava.util.Collection<T>- Specified by:
hashCodein interfacejava.util.List<T>- Specified by:
hashCodein interfaceListIterable<T>- Overrides:
hashCodein classAbstractMutableList<T>
-
replaceAll
public void replaceAll(java.util.function.UnaryOperator<T> operator)
- Specified by:
replaceAllin interfacejava.util.List<T>- Since:
- 10.0
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException- Specified by:
writeExternalin interfacejava.io.Externalizable- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException- Specified by:
readExternalin interfacejava.io.Externalizable- Throws:
java.io.IOExceptionjava.lang.ClassNotFoundException
-
-