Package org.eclipse.collections.api.list
Interface MutableList<T>
- All Superinterfaces:
Cloneable,Collection<T>,InternalIterable<T>,Iterable<T>,List<T>,ListIterable<T>,MutableCollection<T>,OrderedIterable<T>,ReversibleIterable<T>,RichIterable<T>
- All Known Subinterfaces:
FixedSizeList<T>,MultiReaderList<T>
A MutableList is an extension of java.util.List which provides methods matching the Smalltalk Collection protocol.
-
Method Summary
Modifier and TypeMethodDescriptionReturns a synchronized wrapper backed by this collection.Returns an unmodifiable view of the list.clone()default <V> MutableList<V>Returns a new MutableCollection with the results of applying the specified function to each element of the source collection.default MutableBooleanListcollectBoolean(BooleanFunction<? super T> booleanFunction) Returns a new primitivebooleaniterable with the results of applying the specified function on each element of the source collection.default MutableByteListcollectByte(ByteFunction<? super T> byteFunction) Returns a new primitivebyteiterable with the results of applying the specified function on each element of the source collection.default MutableCharListcollectChar(CharFunction<? super T> charFunction) Returns a new primitivechariterable with the results of applying the specified function on each element of the source collection.default MutableDoubleListcollectDouble(DoubleFunction<? super T> doubleFunction) Returns a new primitivedoubleiterable with the results of applying the specified function on each element of the source collection.default MutableFloatListcollectFloat(FloatFunction<? super T> floatFunction) Returns a new primitivefloatiterable with the results of applying the specified function on each element of the source collection.default <V> MutableList<V>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.default MutableIntListcollectInt(IntFunction<? super T> intFunction) Returns a new primitiveintiterable with the results of applying the specified function on each element of the source collection.default MutableLongListcollectLong(LongFunction<? super T> longFunction) Returns a new primitivelongiterable with the results of applying the specified function on each element of the source collection.default MutableShortListcollectShort(ShortFunction<? super T> shortFunction) Returns a new primitiveshortiterable with the results of applying the specified function on each element of the source collection.default <P,V> MutableList<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.default <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.distinct()Returns a newListIterablecontaining the distinct elements in this list.distinct(HashingStrategy<? super T> hashingStrategy) Returns a newListIterablecontaining the distinct elements in this list.<V> MutableList<T>distinctBy(Function<? super T, ? extends V> function) Returns a newListIterablecontaining the distinct elements in this list.drop(int count) Returns an iterable after skipping the firstcountelements or an empty iterable if thecountis greater than the length of the iterable.Returns the final elements that do not satisfy the Predicate.default <V> MutableList<V>flatCollect(Function<? super T, ? extends Iterable<V>> function) flatCollectis a special case ofRichIterable.collect(Function).default <P,V> MutableList<V> flatCollectWith(Function2<? super T, ? super P, ? extends Iterable<V>> function, P parameter) Same as flatCollect, only with a Function2 that is passed an extra parameter.default TgetFirst()This default override exists because java.util.List added a default getFirst() method in Java 21.default TgetLast()This default override exists because java.util.List added a default getLast() method in Java 21.<V> MutableListMultimap<V,T> 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> MutableListMultimap<V,T> groupByEach(Function<? super T, ? extends Iterable<V>> function) Similar toRichIterable.groupBy(Function), except the result of evaluating function will return a collection of keys for each value.default intReturns the index of the first occurrence of the specified item in this iterable, or -1 if this iterable does not contain the item.newEmpty()Creates a new empty mutable version of the same collection type.Filters a collection into a PartitionedIterable based on the evaluation of the predicate.partitionWhile(Predicate<? super T> predicate) Returns a Partition of the initial elements that satisfy the Predicate and the remaining elements.<P> PartitionMutableList<T>partitionWith(Predicate2<? super T, ? super P> predicate, P parameter) Filters a collection into a PartitionIterable based on the evaluation of the predicate.default MutableList<T>Returns a MutableCollection with all elements that evaluate to false for the specified predicate.default <P> MutableList<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.default 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.default MutableList<T>Mutates this list by reversing its order and returns the current list as a result.default MutableList<T>Returns a MutableCollection with all elements that evaluate to true for the specified predicate.<S> MutableList<S>selectInstancesOf(Class<S> clazz) Returns all elements of the source collection that are instances of the Classclazz.default <P> MutableList<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.default 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.default MutableList<T>Mutates this list by shuffling its elements.default MutableList<T>shuffleThis(Random random) Mutates this list by shuffling its elements using the specified random.default MutableList<T>sortThis()Sorts the internal data structure of this list and returns the list itself as a convenience.default MutableList<T>sortThis(Comparator<? super T> comparator) Sorts the internal data structure of this list and returns the list itself as a convenience.default <V extends Comparable<? super V>>
MutableList<T>sortThisBy(Function<? super T, ? extends V> function) Sorts the internal data structure of this list based on the natural order of the attribute returned byfunction.sortThisByBoolean(BooleanFunction<? super T> function) sortThisByByte(ByteFunction<? super T> function) sortThisByChar(CharFunction<? super T> function) sortThisByDouble(DoubleFunction<? super T> function) sortThisByFloat(FloatFunction<? super T> function) sortThisByInt(IntFunction<? super T> function) sortThisByLong(LongFunction<? super T> function) sortThisByShort(ShortFunction<? super T> function) subList(int fromIndex, int toIndex) take(int count) Returns the firstcountelements of the iterable or all the elements in the iterable ifcountis greater than the length of the iterable.Returns the initial elements that satisfy the Predicate.default MutableList<T>Executes the Procedure for each element in the iterable and returnsthis.default Object[]toArray()Converts this iterable to an array.default <T1> T1[]toArray(T1[] a) Converts this iterable to an array using the specified target array, assuming the target array is as long or longer than the iterable.default ImmutableList<T>Returns an immutable copy of this list.default ImmutableList<T>Converts the MutableList to the default ImmutableList implementation.default MutableList<T>Returns a new MutableList in reverse order.default MutableList<T>This method allows mutable and fixed size collections the ability to add elements to their existing elements.default MutableList<T>This method allows mutable and fixed size collections the ability to add multiple elements to their existing elements.default MutableList<T>This method allows mutable and fixed size collections the ability to remove elements from their existing elements.default MutableList<T>withoutAll(Iterable<? extends T> elements) This method allows mutable and fixed size collections the ability to remove multiple elements from their existing elements.<S> MutableList<Pair<T,S>> Returns aRichIterableformed from thisRichIterableand anotherRichIterableby combining corresponding elements in pairs.Zips thisRichIterablewith its indices.Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArrayMethods inherited from interface org.eclipse.collections.api.InternalIterable
forEach, forEachWithMethods inherited from interface java.util.List
add, add, addAll, addAll, clear, contains, containsAll, equals, get, hashCode, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, replaceAll, retainAll, set, size, sort, spliteratorMethods inherited from interface org.eclipse.collections.api.list.ListIterable
asParallel, binarySearch, binarySearch, equals, forEachInBoth, get, hashCode, lastIndexOf, listIterator, listIteratorMethods inherited from interface org.eclipse.collections.api.collection.MutableCollection
addAllIterable, aggregateBy, aggregateInPlaceBy, countBy, countByEach, countByWith, groupByUniqueKey, injectIntoWith, removeAllIterable, removeIf, removeIfWith, retainAllIterable, selectAndRejectWith, sumByDouble, sumByFloat, sumByInt, sumByLongMethods inherited from interface org.eclipse.collections.api.ordered.OrderedIterable
collectWithIndex, corresponds, detectIndex, forEach, forEachWithIndex, forEachWithIndex, getFirstOptional, getLastOptional, max, min, rejectWithIndex, selectWithIndex, toStack, zip, zipWithIndexMethods inherited from interface org.eclipse.collections.api.ordered.ReversibleIterable
asReversed, detectLastIndex, reverseForEach, reverseForEachWithIndexMethods inherited from interface org.eclipse.collections.api.RichIterable
aggregateBy, allSatisfy, allSatisfyWith, anySatisfy, anySatisfyWith, appendString, appendString, appendString, asLazy, chunk, collect, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectIf, collectInt, collectLong, collectShort, collectWith, contains, containsAll, containsAllArguments, containsAllIterable, containsAny, containsAnyIterable, containsBy, containsNone, containsNoneIterable, count, countBy, countByEach, countByWith, countWith, detect, detectIfNone, detectOptional, detectWith, detectWithIfNone, detectWithOptional, each, flatCollect, flatCollectBoolean, flatCollectByte, flatCollectChar, flatCollectDouble, flatCollectFloat, flatCollectInt, flatCollectLong, flatCollectShort, flatCollectWith, forEach, getAny, getOnly, groupBy, groupByAndCollect, groupByEach, groupByUniqueKey, injectInto, injectInto, injectInto, injectInto, injectInto, injectIntoDouble, injectIntoFloat, injectIntoInt, injectIntoLong, into, isEmpty, makeString, makeString, makeString, makeString, max, maxBy, maxByOptional, maxOptional, maxOptional, min, minBy, minByOptional, minOptional, minOptional, noneSatisfy, noneSatisfyWith, notEmpty, reduce, reduceBy, reduceBy, reduceInPlace, reduceInPlace, reject, rejectWith, select, selectWith, size, summarizeDouble, summarizeFloat, summarizeInt, summarizeLong, sumOfDouble, sumOfFloat, sumOfInt, sumOfLong, toBag, toBiMap, toImmutableBag, toImmutableBiMap, toImmutableMap, toImmutableSet, toImmutableSortedBag, toImmutableSortedBag, toImmutableSortedBagBy, toImmutableSortedList, toImmutableSortedList, toImmutableSortedListBy, toImmutableSortedSet, toImmutableSortedSet, toImmutableSortedSetBy, toList, toMap, toMap, toSet, toSortedBag, toSortedBag, toSortedBagBy, toSortedList, toSortedList, toSortedListBy, toSortedMap, toSortedMap, toSortedMapBy, toSortedSet, toSortedSet, toSortedSetBy, toString
-
Method Details
-
toArray
Description copied from interface:RichIterableConverts this iterable to an array.- Specified by:
toArrayin interfaceCollection<T>- Specified by:
toArrayin interfaceList<T>- Specified by:
toArrayin interfaceMutableCollection<T>- Specified by:
toArrayin interfaceRichIterable<T>- See Also:
-
toArray
default <T1> T1[] toArray(T1[] a) 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 interfaceCollection<T>- Specified by:
toArrayin interfaceList<T>- Specified by:
toArrayin interfaceMutableCollection<T>- Specified by:
toArrayin interfaceRichIterable<T>- See Also:
-
getFirst
This default override exists because java.util.List added a default getFirst() method in Java 21.- Specified by:
getFirstin interfaceListIterable<T>- Specified by:
getFirstin interfaceOrderedIterable<T>- Specified by:
getFirstin interfaceRichIterable<T>- Since:
- 12.0
-
getLast
This default override exists because java.util.List added a default getLast() method in Java 21.- Specified by:
getLastin interfaceListIterable<T>- Specified by:
getLastin interfaceOrderedIterable<T>- Specified by:
getLastin interfaceRichIterable<T>- Since:
- 12.0
-
with
Description copied from interface:MutableCollectionThis method allows mutable and fixed size collections the ability to add elements to their existing elements. In order to support fixed size a new instance of a collection would have to be returned taking the elements of the original collection and appending the new element to form the new collection. In the case of mutable collections, the original collection is modified, and is returned. In order to use this method properly with mutable and fixed size collections the following approach must be taken:MutableCollection<String> list = list.with("1"); list = list.with("2"); return list;In the case ofFixedSizeCollectiona new instance of MutableCollection will be returned by with, and any variables that previously referenced the original collection will need to be redirected to reference the new instance. For other MutableCollection types you will replace the reference to collection with the same collection, since the instance will return "this" after calling add on itself.- Specified by:
within interfaceMutableCollection<T>- See Also:
-
without
Description copied from interface:MutableCollectionThis method allows mutable and fixed size collections the ability to remove elements from their existing elements. In order to support fixed size a new instance of a collection would have to be returned containing the elements that would be left from the original collection after calling remove. In the case of mutable collections, the original collection is modified, and is returned. In order to use this method properly with mutable and fixed size collections the following approach must be taken:MutableCollection<String> list = list.without("1"); list = list.without("2"); return list;In the case ofFixedSizeCollectiona new instance of MutableCollection will be returned by without, and any variables that previously referenced the original collection will need to be redirected to reference the new instance. For other MutableCollection types you will replace the reference to collection with the same collection, since the instance will return "this" after calling remove on itself.- Specified by:
withoutin interfaceMutableCollection<T>- See Also:
-
withAll
Description copied from interface:MutableCollectionThis method allows mutable and fixed size collections the ability to add multiple elements to their existing elements. In order to support fixed size a new instance of a collection would have to be returned taking the elements of the original collection and appending the new elements to form the new collection. In the case of mutable collections, the original collection is modified, and is returned. In order to use this method properly with mutable and fixed size collections the following approach must be taken:MutableCollection<String> list = list.withAll(FastList.newListWith("1", "2"));In the case ofFixedSizeCollectiona new instance of MutableCollection will be returned by withAll, and any variables that previously referenced the original collection will need to be redirected to reference the new instance. For other MutableCollection types you will replace the reference to collection with the same collection, since the instance will return "this" after calling addAll on itself.- Specified by:
withAllin interfaceMutableCollection<T>- See Also:
-
withoutAll
Description copied from interface:MutableCollectionThis method allows mutable and fixed size collections the ability to remove multiple elements from their existing elements. In order to support fixed size a new instance of a collection would have to be returned containing the elements that would be left from the original collection after calling removeAll. In the case of mutable collections, the original collection is modified, and is returned. In order to use this method properly with mutable and fixed size collections the following approach must be taken:MutableCollection<String> list = list.withoutAll(FastList.newListWith("1", "2"));In the case ofFixedSizeCollectiona new instance of MutableCollection will be returned by withoutAll, and any variables that previously referenced the original collection will need to be redirected to reference the new instance. For other MutableCollection types you will replace the reference to collection with the same collection, since the instance will return "this" after calling removeAll on itself.- Specified by:
withoutAllin interfaceMutableCollection<T>- See Also:
-
newEmpty
MutableList<T> newEmpty()Description copied from interface:MutableCollectionCreates a new empty mutable version of the same collection type. For example, if this instance is a FastList, this method will return a new empty FastList. If the class of this instance is immutable or fixed size (i.e. SingletonList) then a mutable alternative to the class will be provided.- Specified by:
newEmptyin interfaceMutableCollection<T>
-
clone
MutableList<T> clone() -
tap
Description copied from interface:RichIterableExecutes the Procedure for each element in the iterable and returnsthis.Example using a Java 8 lambda expression:
RichIterable<Person> tapped = people.tap(person -> LOGGER.info(person.getName()));- Specified by:
tapin interfaceListIterable<T>- Specified by:
tapin interfaceMutableCollection<T>- Specified by:
tapin interfaceOrderedIterable<T>- Specified by:
tapin interfaceReversibleIterable<T>- Specified by:
tapin interfaceRichIterable<T>- See Also:
-
select
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 interfaceOrderedIterable<T>- Specified by:
selectin interfaceReversibleIterable<T>- Specified by:
selectin interfaceRichIterable<T>
-
selectWith
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 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:
-
reject
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 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
-
rejectWith
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 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:
-
partition
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 interfaceOrderedIterable<T>- Specified by:
partitionin interfaceReversibleIterable<T>- Specified by:
partitionin interfaceRichIterable<T>
-
partitionWith
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 interfaceOrderedIterable<T>- Specified by:
partitionWithin interfaceReversibleIterable<T>- Specified by:
partitionWithin interfaceRichIterable<T>
-
selectInstancesOf
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 interfaceOrderedIterable<T>- Specified by:
selectInstancesOfin interfaceReversibleIterable<T>- Specified by:
selectInstancesOfin interfaceRichIterable<T>
-
collect
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 interfaceOrderedIterable<T>- Specified by:
collectin interfaceReversibleIterable<T>- Specified by:
collectin interfaceRichIterable<T>
-
collectWithIndex
default <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 interfaceOrderedIterable<T>- Specified by:
collectWithIndexin interfaceReversibleIterable<T>- Since:
- 9.1.
-
selectWithIndex
Returns a new MutableList with all elements of the collection that return true when evaluating the specified predicate which is supplied each element and its relative index.- Specified by:
selectWithIndexin interfaceListIterable<T>- Since:
- 11.0
-
rejectWithIndex
Returns a new MutableList with all elements of the collection that return false when evaluating the specified predicate which is supplied each element and its relative index.- Specified by:
rejectWithIndexin interfaceListIterable<T>- Since:
- 11.0
-
collectBoolean
Description copied from interface:MutableCollectionReturns a new primitivebooleaniterable with the results of applying the specified function on each element of the source collection. This method is also commonly called transform or map.Example using a Java 8 lambda expression:
BooleanIterable licenses = people.collectBoolean(person -> person.hasDrivingLicense());Co-variant example for MutableCollection:MutableBooleanCollection licenses = people.collectBoolean(person -> person.hasDrivingLicense());- Specified by:
collectBooleanin interfaceListIterable<T>- Specified by:
collectBooleanin interfaceMutableCollection<T>- Specified by:
collectBooleanin interfaceOrderedIterable<T>- Specified by:
collectBooleanin interfaceReversibleIterable<T>- Specified by:
collectBooleanin interfaceRichIterable<T>
-
collectByte
Description copied from interface:MutableCollectionReturns a new primitivebyteiterable with the results of applying the specified function on each element of the source collection. This method is also commonly called transform or map.Example using a Java 8 lambda expression:
ByteIterable bytes = people.collectByte(person -> person.getCode());Co-variant example for MutableCollection:MutableByteCollection bytes = people.collectByte(person -> person.getCode());- Specified by:
collectBytein interfaceListIterable<T>- Specified by:
collectBytein interfaceMutableCollection<T>- Specified by:
collectBytein interfaceOrderedIterable<T>- Specified by:
collectBytein interfaceReversibleIterable<T>- Specified by:
collectBytein interfaceRichIterable<T>
-
collectChar
Description copied from interface:MutableCollectionReturns a new primitivechariterable with the results of applying the specified function on each element of the source collection. This method is also commonly called transform or map.Example using a Java 8 lambda expression:
CharIterable chars = people.collectChar(person -> person.getMiddleInitial());Co-variant example for MutableCollection:MutableCharCollection chars = people.collectChar(person -> person.getMiddleInitial());- Specified by:
collectCharin interfaceListIterable<T>- Specified by:
collectCharin interfaceMutableCollection<T>- Specified by:
collectCharin interfaceOrderedIterable<T>- Specified by:
collectCharin interfaceReversibleIterable<T>- Specified by:
collectCharin interfaceRichIterable<T>
-
collectDouble
Description copied from interface:MutableCollectionReturns a new primitivedoubleiterable with the results of applying the specified function on each element of the source collection. This method is also commonly called transform or map.Example using a Java 8 lambda expression:
DoubleIterable doubles = people.collectDouble(person -> person.getMilesFromNorthPole());Co-variant example for MutableCollection:MutableDoubleCollection doubles = people.collectDouble(person -> person.getMilesFromNorthPole());- Specified by:
collectDoublein interfaceListIterable<T>- Specified by:
collectDoublein interfaceMutableCollection<T>- Specified by:
collectDoublein interfaceOrderedIterable<T>- Specified by:
collectDoublein interfaceReversibleIterable<T>- Specified by:
collectDoublein interfaceRichIterable<T>
-
collectFloat
Description copied from interface:MutableCollectionReturns a new primitivefloatiterable with the results of applying the specified function on each element of the source collection. This method is also commonly called transform or map.Example using a Java 8 lambda expression:
FloatIterable floats = people.collectFloat(person -> person.getHeightInInches());Co-variant example for MutableCollection:MutableFloatCollection floats = people.collectFloat(person -> person.getHeightInInches());- Specified by:
collectFloatin interfaceListIterable<T>- Specified by:
collectFloatin interfaceMutableCollection<T>- Specified by:
collectFloatin interfaceOrderedIterable<T>- Specified by:
collectFloatin interfaceReversibleIterable<T>- Specified by:
collectFloatin interfaceRichIterable<T>
-
collectInt
Description copied from interface:MutableCollectionReturns a new primitiveintiterable with the results of applying the specified function on each element of the source collection. This method is also commonly called transform or map.Example using a Java 8 lambda expression:
IntIterable ints = people.collectInt(person -> person.getAge());Co-variant example for MutableCollection:MutableIntCollection ints = people.collectInt(person -> person.getAge());- Specified by:
collectIntin interfaceListIterable<T>- Specified by:
collectIntin interfaceMutableCollection<T>- Specified by:
collectIntin interfaceOrderedIterable<T>- Specified by:
collectIntin interfaceReversibleIterable<T>- Specified by:
collectIntin interfaceRichIterable<T>
-
collectLong
Description copied from interface:MutableCollectionReturns a new primitivelongiterable with the results of applying the specified function on each element of the source collection. This method is also commonly called transform or map.Example using a Java 8 lambda expression:
LongIterable longs = people.collectLong(person -> person.getGuid());Co-variant example for MutableCollection:MutableLongCollection longs = people.collectLong(person -> person.getGuid());- Specified by:
collectLongin interfaceListIterable<T>- Specified by:
collectLongin interfaceMutableCollection<T>- Specified by:
collectLongin interfaceOrderedIterable<T>- Specified by:
collectLongin interfaceReversibleIterable<T>- Specified by:
collectLongin interfaceRichIterable<T>
-
collectShort
Description copied from interface:MutableCollectionReturns a new primitiveshortiterable with the results of applying the specified function on each element of the source collection. This method is also commonly called transform or map.Example using a Java 8 lambda expression:
ShortIterable shorts = people.collectShort(person -> person.getNumberOfJunkMailItemsReceivedPerMonth());Co-variant example for MutableCollection:MutableShortCollection shorts = people.collectShort(person -> person.getNumberOfJunkMailItemsReceivedPerMonth());- Specified by:
collectShortin interfaceListIterable<T>- Specified by:
collectShortin interfaceMutableCollection<T>- Specified by:
collectShortin interfaceOrderedIterable<T>- Specified by:
collectShortin interfaceReversibleIterable<T>- Specified by:
collectShortin interfaceRichIterable<T>
-
collectWith
default <P,V> MutableList<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 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:
-
collectIf
default <V> MutableList<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 interfaceOrderedIterable<T>- Specified by:
collectIfin interfaceReversibleIterable<T>- Specified by:
collectIfin interfaceRichIterable<T>
-
flatCollect
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 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
-
flatCollectWith
default <P,V> MutableList<V> flatCollectWith(Function2<? super T, ? super P, ? extends Iterable<V>> function, P parameter) Description copied from interface:RichIterableSame as flatCollect, only with a Function2 that is passed an extra parameter.- Specified by:
flatCollectWithin interfaceListIterable<T>- Specified by:
flatCollectWithin interfaceMutableCollection<T>- Specified by:
flatCollectWithin interfaceOrderedIterable<T>- Specified by:
flatCollectWithin interfaceReversibleIterable<T>- Specified by:
flatCollectWithin interfaceRichIterable<T>- Since:
- 9.2
-
distinct
MutableList<T> distinct()Returns a newListIterablecontaining the distinct elements in this list.- Specified by:
distinctin interfaceListIterable<T>- Specified by:
distinctin interfaceOrderedIterable<T>- Specified by:
distinctin interfaceReversibleIterable<T>- Returns:
ListIterableof distinct elements- Since:
- 7.0
-
distinct
Returns a newListIterablecontaining the distinct elements in this list. Takes HashingStrategy.- Specified by:
distinctin interfaceListIterable<T>- Returns:
ListIterableof distinct elements- Since:
- 7.0
-
distinctBy
Description copied from interface:ListIterableReturns a newListIterablecontaining the distinct elements in this list. The specified function will be used to create a HashingStrategy to unique the elements.- Specified by:
distinctByin interfaceListIterable<T>- Since:
- 9.0
- See Also:
-
sortThis
Sorts the internal data structure of this list and returns the list itself as a convenience.- Since:
- 10.0 - Added default implementation.
-
sortThis
Sorts the internal data structure of this list and returns the list itself as a convenience.- Since:
- 10.0 - Added default implementation.
-
sortThisBy
default <V extends Comparable<? super V>> MutableList<T> sortThisBy(Function<? super T, ? extends V> function) Sorts the internal data structure of this list based on the natural order of the attribute returned byfunction. -
sortThisByInt
- Since:
- 6.0
-
sortThisByBoolean
- Since:
- 6.0
-
sortThisByChar
- Since:
- 6.0
-
sortThisByByte
- Since:
- 6.0
-
sortThisByShort
- Since:
- 6.0
-
sortThisByFloat
- Since:
- 6.0
-
sortThisByLong
- Since:
- 6.0
-
sortThisByDouble
- Since:
- 6.0
-
subList
-
asUnmodifiable
MutableList<T> asUnmodifiable()Returns an unmodifiable view of the list.- Specified by:
asUnmodifiablein interfaceMutableCollection<T>- Returns:
- an unmodifiable view of this list
- See Also:
-
asSynchronized
MutableList<T> asSynchronized()Description copied from interface:MutableCollectionReturns a synchronized wrapper backed by this collection. This is the equivalent of usingCollections.synchronizedCollection(this)only with a return type that supports the full iteration protocols available onMutableCollection. The preferred way of iterating over a synchronized collection is to use the internal iteration methods which are properly synchronized internally.MutableCollection synchedCollection = collection.asSynchronized(); ... synchedCollection.forEach(each -> ... ); synchedCollection.select(each -> ... ); synchedCollection.collect(each -> ... );If you want to iterate using an imperative style, you must protect external iterators using a synchronized block. This includes explicit iterators as well as JDK 5 style for loops.- Specified by:
asSynchronizedin interfaceMutableCollection<T>- Returns:
- a synchronized view of this collection.
- See Also:
-
toImmutable
Returns an immutable copy of this list. If the list is immutable, it returns itself.- Specified by:
toImmutablein interfaceListIterable<T>- Specified by:
toImmutablein interfaceMutableCollection<T>
-
groupBy
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 interfaceOrderedIterable<T>- Specified by:
groupByin interfaceReversibleIterable<T>- Specified by:
groupByin interfaceRichIterable<T>
-
groupByEach
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 interfaceOrderedIterable<T>- Specified by:
groupByEachin interfaceReversibleIterable<T>- Specified by:
groupByEachin interfaceRichIterable<T>
-
zip
Description copied from interface:RichIterableReturns aRichIterableformed from thisRichIterableand anotherRichIterableby combining corresponding elements in pairs. If one of the twoRichIterables is longer than the other, its remaining elements are ignored.- Specified by:
zipin interfaceListIterable<T>- Specified by:
zipin interfaceMutableCollection<T>- Specified by:
zipin interfaceOrderedIterable<T>- Specified by:
zipin interfaceReversibleIterable<T>- Specified by:
zipin interfaceRichIterable<T>- Type Parameters:
S- the type of the second half of the returned pairs- Parameters:
that- TheRichIterableproviding the second half of each result pair- Returns:
- A new
RichIterablecontaining pairs consisting of corresponding elements of thisRichIterableand that. The length of the returnedRichIterableis the minimum of the lengths of thisRichIterableand that.
-
zipWithIndex
MutableList<Pair<T,Integer>> zipWithIndex()Description copied from interface:RichIterableZips thisRichIterablewith its indices.- Specified by:
zipWithIndexin interfaceListIterable<T>- Specified by:
zipWithIndexin interfaceMutableCollection<T>- Specified by:
zipWithIndexin interfaceOrderedIterable<T>- Specified by:
zipWithIndexin interfaceReversibleIterable<T>- Specified by:
zipWithIndexin interfaceRichIterable<T>- Returns:
- A new
RichIterablecontaining pairs consisting of all elements of thisRichIterablepaired with their index. Indices start at 0. - See Also:
-
take
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 interfaceReversibleIterable<T>- Parameters:
count- the number of items to take.
-
takeWhile
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 interfaceOrderedIterable<T>- Specified by:
takeWhilein interfaceReversibleIterable<T>
-
drop
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 interfaceReversibleIterable<T>- Parameters:
count- the number of items to drop.
-
dropWhile
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 interfaceOrderedIterable<T>- Specified by:
dropWhilein interfaceReversibleIterable<T>
-
partitionWhile
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 interfaceOrderedIterable<T>- Specified by:
partitionWhilein interfaceReversibleIterable<T>
-
toReversed
Returns a new MutableList in reverse order.- Specified by:
toReversedin interfaceListIterable<T>- Specified by:
toReversedin interfaceReversibleIterable<T>
-
reverseThis
Mutates this list by reversing its order and returns the current list as a result. -
shuffleThis
Mutates this list by shuffling its elements. -
shuffleThis
Mutates this list by shuffling its elements using the specified random. -
toImmutableList
Converts the MutableList to the default ImmutableList implementation.- Specified by:
toImmutableListin interfaceRichIterable<T>- Since:
- 11.0
-
indexOf
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.
-