Class AbstractMemoryEfficientMutableList<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.fixed.AbstractMemoryEfficientMutableList<T>
-
- All Implemented Interfaces:
java.lang.Cloneable,java.lang.Iterable<T>,java.util.Collection<T>,java.util.List<T>,java.util.RandomAccess,FixedSizeCollection<T>,MutableCollection<T>,InternalIterable<T>,FixedSizeList<T>,ListIterable<T>,MutableList<T>,OrderedIterable<T>,ReversibleIterable<T>,RichIterable<T>
- Direct Known Subclasses:
DoubletonList,EmptyList,QuadrupletonList,QuintupletonList,SextupletonList,SingletonList,TripletonList
public abstract class AbstractMemoryEfficientMutableList<T> extends AbstractMutableList<T> implements FixedSizeList<T>, java.util.RandomAccess
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classAbstractMemoryEfficientMutableList.SubList<T>
-
Constructor Summary
Constructors Constructor Description AbstractMemoryEfficientMutableList()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(int index, T element)booleanadd(T o)booleanaddAll(int index, java.util.Collection<? extends T> collection)booleanaddAll(java.util.Collection<? extends T> collection)booleanaddAllIterable(java.lang.Iterable<? extends T> iterable)voidclear()FixedSizeList<T>clone()private voidinsertionSort(java.util.Comparator<? super T> comparator)private booleanisPreviousGreaterThanCurrent(java.util.Comparator<? super T> comparator, int index)java.util.ListIterator<T>listIterator()java.util.ListIterator<T>listIterator(int index)Tremove(int index)booleanremove(java.lang.Object o)booleanremoveAll(java.util.Collection<?> collection)booleanremoveAllIterable(java.lang.Iterable<?> iterable)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.booleanretainAll(java.util.Collection<?> collection)booleanretainAllIterable(java.lang.Iterable<?> iterable)voidsort(java.util.Comparator<? super T> comparator)This method checks if comparator is null and use a ComparableComparator if it is.MutableList<T>subList(int fromIndex, int toIndex)FixedSizeList<T>tap(Procedure<? super T> procedure)Executes the Procedure for each element in the iterable and returnsthis.FixedSizeList<T>toReversed()Returns a new MutableList in reverse order.MutableList<T>withAll(java.lang.Iterable<? extends T> elements)This method allows mutable and fixed size collections the ability to add multiple elements to their existing elements.MutableList<T>without(T element)This method allows mutable and fixed size collections the ability to remove elements from their existing elements.MutableList<T>withoutAll(java.lang.Iterable<? extends T> elements)This method allows mutable and fixed size collections the ability to remove multiple elements from their existing elements.-
Methods inherited from class org.eclipse.collections.impl.list.mutable.AbstractMutableList
allSatisfy, allSatisfyWith, anySatisfy, anySatisfyWith, appendString, appendString, asParallel, asReversed, asSynchronized, asUnmodifiable, binarySearch, chunk, collect, collectIf, collectWith, contains, containsAll, corresponds, count, countWith, detect, detectIndex, detectLastIndex, detectOptional, detectWith, detectWithOptional, distinct, distinct, distinctBy, drop, dropWhile, each, equals, flatCollect, forEach, forEachWith, forEachWithIndex, forEachWithIndex, getFirst, getLast, groupBy, groupByEach, groupByUniqueKey, hashCode, indexOf, injectInto, injectInto, injectInto, injectInto, injectIntoWith, iterator, lastIndexOf, max, max, maxBy, min, min, minBy, newEmpty, noneSatisfy, noneSatisfyWith, partition, partitionWhile, partitionWith, reject, rejectWith, removeRange, select, selectAndRejectWith, selectInstancesOf, selectWith, sortThisByBoolean, sortThisByByte, sortThisByChar, sortThisByDouble, sortThisByFloat, sortThisByInt, sortThisByLong, sortThisByShort, sumOfDouble, sumOfFloat, sumOfInt, sumOfLong, take, takeWhile, toSet, toSortedList, zip, zip, zipWithIndex, zipWithIndex
-
Methods inherited from class org.eclipse.collections.impl.collection.mutable.AbstractMutableCollection
countBy, countByEach, countByWith, reduce, sumByDouble, sumByFloat, sumByInt, sumByLong
-
Methods inherited from class org.eclipse.collections.impl.AbstractRichIterable
asLazy, containsAllArguments, containsAllIterable, detectWithIfNone, forEach, groupBy, groupByEach, groupByUniqueKey, injectInto, into, isEmpty, toBag, toBiMap, toList, 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.api.list.FixedSizeList
sortThis, sortThis, with
-
Methods inherited from interface org.eclipse.collections.api.InternalIterable
forEach, forEachWith
-
Methods inherited from interface java.util.List
contains, containsAll, equals, get, hashCode, isEmpty, iterator, lastIndexOf, replaceAll, set, size, spliterator
-
Methods inherited from interface org.eclipse.collections.api.list.ListIterable
asParallel, binarySearch, binarySearch, equals, forEachInBoth, get, hashCode, lastIndexOf
-
Methods inherited from interface org.eclipse.collections.api.collection.MutableCollection
aggregateBy, aggregateInPlaceBy, countBy, countByEach, countByWith, groupByUniqueKey, injectIntoWith, selectAndRejectWith, sumByDouble, sumByFloat, sumByInt, sumByLong
-
Methods inherited from interface org.eclipse.collections.api.list.MutableList
asSynchronized, asUnmodifiable, collect, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectIf, collectInt, collectLong, collectShort, collectWith, collectWithIndex, distinct, distinct, distinctBy, drop, dropWhile, flatCollect, flatCollectWith, getFirst, getLast, groupBy, groupByEach, indexOf, newEmpty, partition, partitionWhile, partitionWith, reject, rejectWith, rejectWithIndex, reverseThis, select, selectInstancesOf, selectWith, selectWithIndex, shuffleThis, shuffleThis, sortThisBy, sortThisByBoolean, sortThisByByte, sortThisByChar, sortThisByDouble, sortThisByFloat, sortThisByInt, sortThisByLong, sortThisByShort, take, takeWhile, toArray, toArray, toImmutable, toImmutableList, zip, zipWithIndex
-
Methods inherited from interface org.eclipse.collections.api.ordered.OrderedIterable
collectWithIndex, corresponds, detectIndex, forEach, forEachWithIndex, forEachWithIndex, getFirstOptional, getLastOptional, max, min, rejectWithIndex, selectWithIndex, toStack, zip, zipWithIndex
-
Methods inherited from interface org.eclipse.collections.api.ordered.ReversibleIterable
asReversed, detectLastIndex, reverseForEach, reverseForEachWithIndex
-
Methods 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, toArray, toArray, 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 Detail
-
clone
public FixedSizeList<T> clone()
- Specified by:
clonein interfaceMutableList<T>- Overrides:
clonein classAbstractMutableList<T>
-
tap
public FixedSizeList<T> tap(Procedure<? super T> procedure)
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 interfaceFixedSizeCollection<T>- Specified by:
tapin interfaceFixedSizeList<T>- Specified by:
tapin interfaceListIterable<T>- Specified by:
tapin interfaceMutableCollection<T>- Specified by:
tapin interfaceMutableList<T>- Specified by:
tapin interfaceOrderedIterable<T>- Specified by:
tapin interfaceReversibleIterable<T>- Specified by:
tapin interfaceRichIterable<T>- Overrides:
tapin classAbstractMutableList<T>- See Also:
RichIterable.each(Procedure),RichIterable.forEach(Procedure)
-
add
public boolean add(T o)
- Specified by:
addin interfacejava.util.Collection<T>- Specified by:
addin interfaceFixedSizeCollection<T>- Specified by:
addin interfacejava.util.List<T>- Overrides:
addin classAbstractMutableCollection<T>
-
addAll
public boolean addAll(java.util.Collection<? extends T> collection)
- Specified by:
addAllin interfacejava.util.Collection<T>- Specified by:
addAllin interfaceFixedSizeCollection<T>- Specified by:
addAllin interfacejava.util.List<T>- Overrides:
addAllin classAbstractMutableCollection<T>
-
addAll
public boolean addAll(int index, java.util.Collection<? extends T> collection)- Specified by:
addAllin interfacejava.util.List<T>
-
addAllIterable
public boolean addAllIterable(java.lang.Iterable<? extends T> iterable)
- Specified by:
addAllIterablein interfaceFixedSizeCollection<T>- Specified by:
addAllIterablein interfaceMutableCollection<T>- Overrides:
addAllIterablein classAbstractMutableCollection<T>- See Also:
Collection.addAll(Collection)
-
remove
public boolean remove(java.lang.Object o)
- Specified by:
removein interfacejava.util.Collection<T>- Specified by:
removein interfaceFixedSizeCollection<T>- Specified by:
removein interfacejava.util.List<T>- Overrides:
removein classAbstractMutableCollection<T>
-
removeAll
public boolean removeAll(java.util.Collection<?> collection)
- Specified by:
removeAllin interfacejava.util.Collection<T>- Specified by:
removeAllin interfaceFixedSizeCollection<T>- Specified by:
removeAllin interfacejava.util.List<T>- Overrides:
removeAllin classAbstractMutableList<T>
-
removeAllIterable
public boolean removeAllIterable(java.lang.Iterable<?> iterable)
- Specified by:
removeAllIterablein interfaceFixedSizeCollection<T>- Specified by:
removeAllIterablein interfaceMutableCollection<T>- Overrides:
removeAllIterablein classAbstractMutableCollection<T>- See Also:
Collection.removeAll(Collection)
-
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 interfaceFixedSizeCollection<T>- Specified by:
removeIfin interfaceMutableCollection<T>- Overrides:
removeIfin classAbstractMutableList<T>
-
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 interfaceFixedSizeCollection<T>- Specified by:
removeIfWithin interfaceMutableCollection<T>- Overrides:
removeIfWithin classAbstractMutableList<T>
-
retainAll
public boolean retainAll(java.util.Collection<?> collection)
- Specified by:
retainAllin interfacejava.util.Collection<T>- Specified by:
retainAllin interfaceFixedSizeCollection<T>- Specified by:
retainAllin interfacejava.util.List<T>- Overrides:
retainAllin classAbstractMutableList<T>
-
retainAllIterable
public boolean retainAllIterable(java.lang.Iterable<?> iterable)
- Specified by:
retainAllIterablein interfaceFixedSizeCollection<T>- Specified by:
retainAllIterablein interfaceMutableCollection<T>- Overrides:
retainAllIterablein classAbstractMutableCollection<T>- See Also:
Collection.retainAll(Collection)
-
clear
public void clear()
- Specified by:
clearin interfacejava.util.Collection<T>- Specified by:
clearin interfaceFixedSizeCollection<T>- Specified by:
clearin interfacejava.util.List<T>- Overrides:
clearin classAbstractMutableList<T>
-
sort
public void sort(java.util.Comparator<? super T> comparator)
This method checks if comparator is null and use a ComparableComparator if it is.- Specified by:
sortin interfacejava.util.List<T>- Since:
- 10.0
-
insertionSort
private void insertionSort(java.util.Comparator<? super T> comparator)
-
isPreviousGreaterThanCurrent
private boolean isPreviousGreaterThanCurrent(java.util.Comparator<? super T> comparator, int index)
-
toReversed
public FixedSizeList<T> toReversed()
Description copied from interface:MutableListReturns a new MutableList in reverse order.- Specified by:
toReversedin interfaceFixedSizeList<T>- Specified by:
toReversedin interfaceListIterable<T>- Specified by:
toReversedin interfaceMutableList<T>- Specified by:
toReversedin interfaceReversibleIterable<T>
-
subList
public MutableList<T> subList(int fromIndex, int toIndex)
- Specified by:
subListin interfacejava.util.List<T>- Specified by:
subListin interfaceListIterable<T>- Specified by:
subListin interfaceMutableList<T>- Overrides:
subListin classAbstractMutableList<T>- See Also:
List.subList(int, int)
-
without
public MutableList<T> without(T element)
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 interfaceFixedSizeCollection<T>- Specified by:
withoutin interfaceFixedSizeList<T>- Specified by:
withoutin interfaceMutableCollection<T>- Specified by:
withoutin interfaceMutableList<T>- See Also:
Collection.remove(Object)
-
withAll
public MutableList<T> withAll(java.lang.Iterable<? extends T> elements)
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 interfaceFixedSizeCollection<T>- Specified by:
withAllin interfaceFixedSizeList<T>- Specified by:
withAllin interfaceMutableCollection<T>- Specified by:
withAllin interfaceMutableList<T>- See Also:
Collection.addAll(Collection)
-
withoutAll
public MutableList<T> withoutAll(java.lang.Iterable<? extends T> elements)
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 interfaceFixedSizeCollection<T>- Specified by:
withoutAllin interfaceFixedSizeList<T>- Specified by:
withoutAllin interfaceMutableCollection<T>- Specified by:
withoutAllin interfaceMutableList<T>- See Also:
Collection.removeAll(Collection)
-
listIterator
public java.util.ListIterator<T> listIterator(int index)
- Specified by:
listIteratorin interfacejava.util.List<T>- Specified by:
listIteratorin interfaceListIterable<T>- Overrides:
listIteratorin classAbstractMutableList<T>- See Also:
List.listIterator(int)
-
listIterator
public java.util.ListIterator<T> listIterator()
- Specified by:
listIteratorin interfacejava.util.List<T>- Specified by:
listIteratorin interfaceListIterable<T>- Overrides:
listIteratorin classAbstractMutableList<T>- See Also:
List.listIterator()
-
-