Class SubListProcessor<E>
- All Implemented Interfaces:
Iterable<E>,CapacityCarrying,ConsolidatableCollection,ExtendedBag<E>,ExtendedCollection<E>,ExtendedList<E>,ExtendedSequence<E>,OptimizableCollection,ReleasingCollection<E>,Sized,Truncateable,Sortable<E>,XDecreasingList<E>,XDecreasingSequence<E>,XGettingBag<E>,XGettingCollection<E>,XGettingList<E>,XGettingSequence<E>,XIndexIterable<E>,XIterable<E>,XJoinable<E>,XOrderingSequence<E>,XProcessingBag<E>,XProcessingCollection<E>,XProcessingList<E>,XProcessingSequence<E>,XRemovingBag<E>,XRemovingCollection<E>,XRemovingList<E>,XRemovingSequence<E>,XReplacingBag<E>,XReplacingCollection<E>,XSettingList<E>,XSettingSequence<E>,XSortableSequence<E>,Processable<E>,Clearable,Copyable
public class SubListProcessor<E> extends SubListView<E> implements XDecreasingList<E>
-
Nested Class Summary
Nested classes/interfaces inherited from interface one.microstream.collections.interfaces.ExtendedCollection
ExtendedCollection.Creator<E,C extends ExtendedCollection<E>>Nested classes/interfaces inherited from interface one.microstream.collections.types.XDecreasingList
XDecreasingList.Creator<E>Nested classes/interfaces inherited from interface one.microstream.collections.types.XGettingCollection
XGettingCollection.Creator<E>Nested classes/interfaces inherited from interface one.microstream.collections.types.XGettingList
XGettingList.Factory<E>Nested classes/interfaces inherited from interface one.microstream.collections.types.XGettingSequence
XGettingSequence.Factory<E>Nested classes/interfaces inherited from interface one.microstream.collections.types.XIterable
XIterable.Executor<E>Nested classes/interfaces inherited from interface one.microstream.collections.types.XProcessingList
XProcessingList.Factory<E>Nested classes/interfaces inherited from interface one.microstream.collections.types.XProcessingSequence
XProcessingSequence.Factory<E>Nested classes/interfaces inherited from interface one.microstream.collections.types.XReplacingBag
XReplacingBag.Factory<E> -
Constructor Summary
Constructors Constructor Description SubListProcessor(XProcessingList<E> list, long fromIndex, long toIndex) -
Method Summary
Modifier and Type Method Description voidclear()Clears all elements from the collection while leaving the capacity as it is.longconsolidate()Consolidates the internal storage of this collection by discarding all elements of the internal storage that have become obsolete or otherwise unneeded anymore.SubListProcessor<E>copy()Creates a true copy of this list which references the same elements in the same order as this list does at the time the method is called.Efetch()XDecreasingList<E>fill(long offset, long length, E element)Fills all slots from the offset to the offset+length with the given element, regardless of whether or not a slot isnull.<C extends Consumer<? super E>>
CmoveSelection(C target, long... indices)<C extends Consumer<? super E>>
CmoveTo(C target, Predicate<? super E> predicate)longnullRemove()one.microstream.collections.SubListProcessor.OldSubListProcessor<E>old()longoptimize()Optimizes internal memory usage by rebuilding the storage to only occupy as much memory as needed to store the currently contained elements in terms of the collection's current memory usage configuration (e.g.Epick()Epinch()Epop()<P extends Consumer<? super E>>
Pprocess(P procedure)SubListProcessor<E>range(long fromIndex, long toIndex)longremove(E element)longremoveAll(XGettingCollection<? extends E> samples)EremoveAt(long index)longremoveBy(Predicate<? super E> predicate)longremoveDuplicates()longremoveDuplicates(Equalator<? super E> equalator)booleanremoveOne(E element)SubListProcessor<E>removeRange(long startIndex, long length)longremoveSelection(long[] indices)longreplace(E element, E replacement)longreplace(Predicate<? super E> predicate, E substitute)longreplaceAll(XGettingCollection<? extends E> elements, E replacement)booleanreplaceOne(E element, E replacement)Replaces the first element that is equal to the given element with the replacement and then returns true.booleanreplaceOne(Predicate<? super E> predicate, E substitute)longretainAll(XGettingCollection<? extends E> samples)Removing all elements except the ones contained in the given elements-collection.SubListProcessor<E>retainRange(long startIndex, long length)Removing all elements but the ones from the offset (basically start index) to the offset+length (end index).Eretrieve(E element)EretrieveBy(Predicate<? super E> predicate)XDecreasingList<E>reverse()Reverses the order of its own elements and returns itself.booleanset(long index, E element)XDecreasingList<E>set(long index, E[] elements, int offset, int length)XDecreasingList<E>set(long index, XGettingSequence<? extends E> elements, long offset, long length)XDecreasingList<E>setAll(long index, E... elements)voidsetFirst(E element)EsetGet(long index, E element)voidsetLast(E element)XSortableSequence<E>shiftBy(long sourceIndex, long distance)Moves the element from the sourceIndex in the sequence to a higher index position.
All other elements are possibly moved to create the empty slot for the shifting element.XSortableSequence<E>shiftBy(long sourceIndex, long distance, long length)Moves multiple elements from the sourceIndex in the sequence to a higher index position.
All other elements are possibly moved to create the empty slot for the shifting elements.XSortableSequence<E>shiftTo(long sourceIndex, long targetIndex)Moves the element from the sourceIndex in the sequence to the targetIndex.
All other elements are possibly moved to create the empty slot for the shifting element.XSortableSequence<E>shiftTo(long sourceIndex, long targetIndex, long length)Moves multiple elements from the sourceIndex in the sequence to the targetIndex.
All other elements are possibly moved to create the empty slot for the shifting element.XDecreasingList<E>sort(Comparator<? super E> comparator)Sorts this collection according to the given comparator and returns itself.longsubstitute(Function<? super E,? extends E> mapper)longsubstitute(Predicate<? super E> predicate, Function<E,E> mapper)XDecreasingList<E>swap(long indexA, long indexB)XDecreasingList<E>swap(long indexA, long indexB, long length)SubListProcessor<E>toReversed()Creates a newXGettingSequencewith the reversed order of elements.voidtruncate()Clears (and reinitializes if needed) this collection in the fastest possible way, i.e.SubListView<E>view(long fromIndex, long toIndex)Creates a sub-view of this collection and returns it.Methods inherited from class one.microstream.collections.SubListView
applies, at, contains, containsAll, containsId, containsSearched, copySelection, copyTo, count, countBy, distinct, distinct, equality, equals, equalsContent, except, filterTo, first, get, getEndIndex, hasVolatileElements, immure, indexBy, indexOf, intersect, isEmpty, isFull, isSorted, iterate, iterateIndexed, iterator, join, last, lastIndexBy, lastIndexOf, listIterator, listIterator, max, maximumCapacity, maxIndex, min, minIndex, nullAllowed, nullContained, peek, poll, remainingCapacity, scan, search, seek, shiftIndices, size, toArray, toArray, union, viewMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface one.microstream.collections.interfaces.CapacityCarrying
isFull, maximumCapacity, remainingCapacityMethods inherited from interface one.microstream.collections.interfaces.ExtendedCollection
nullAllowedMethods inherited from interface one.microstream.collections.types.XGettingCollection
applies, contains, containsAll, containsId, containsSearched, copyTo, count, countBy, distinct, distinct, equality, equals, equals, equalsContent, except, filterTo, hashCode, hasVolatileElements, intersect, intSize, iterator, join, max, min, nullContained, search, seek, size, toArray, toArray, unionMethods inherited from interface one.microstream.collections.types.XGettingList
immure, listIterator, listIterator, viewMethods inherited from interface one.microstream.collections.types.XGettingSequence
at, copySelection, first, get, hasIndex, indexBy, indexOf, isSorted, last, lastIndexBy, lastIndexOf, maxIndex, minIndex, peek, poll, scan
-
Constructor Details
-
Method Details
-
clear
public final void clear()Description copied from interface:XRemovingCollectionClears all elements from the collection while leaving the capacity as it is.- Specified by:
clearin interfaceClearable- Specified by:
clearin interfaceXRemovingCollection<E>
-
process
- Specified by:
processin interfaceProcessable<E>
-
removeDuplicates
- Specified by:
removeDuplicatesin interfaceXProcessingCollection<E>
-
remove
- Specified by:
removein interfaceXRemovingCollection<E>
-
removeAll
- Specified by:
removeAllin interfaceXRemovingCollection<E>
-
removeDuplicates
public final long removeDuplicates()- Specified by:
removeDuplicatesin interfaceXRemovingCollection<E>
-
retrieve
- Specified by:
retrievein interfaceXProcessingCollection<E>
-
retrieveBy
- Specified by:
retrieveByin interfaceXProcessingCollection<E>
-
removeOne
- Specified by:
removeOnein interfaceXRemovingCollection<E>
-
retainAll
Description copied from interface:XRemovingCollectionRemoving all elements except the ones contained in the given elements-collection.Basically intersect this collection with the given collection and only keeping the resulting elements.
- Specified by:
retainAllin interfaceXRemovingCollection<E>- Parameters:
samples- to retain- Returns:
- Amount of deleted elements
-
removeBy
- Specified by:
removeByin interfaceXProcessingCollection<E>
-
truncate
public final void truncate()Description copied from interface:XRemovingCollectionClears (and reinitializes if needed) this collection in the fastest possible way, i.e. by allocating a new and empty internal storage of default capacity. The collection will be empty after calling this method.- Specified by:
truncatein interfaceTruncateable- Specified by:
truncatein interfaceXRemovingCollection<E>
-
range
- Specified by:
rangein interfaceXDecreasingList<E>- Specified by:
rangein interfaceXDecreasingSequence<E>- Specified by:
rangein interfaceXGettingList<E>- Specified by:
rangein interfaceXGettingSequence<E>- Specified by:
rangein interfaceXSettingList<E>- Specified by:
rangein interfaceXSettingSequence<E>- Overrides:
rangein classSubListView<E>
-
consolidate
public final long consolidate()Description copied from interface:ConsolidatableCollectionConsolidates the internal storage of this collection by discarding all elements of the internal storage that have become obsolete or otherwise unneeded anymore. (e.g.WeakReferenceentries whose reference has been cleared).- Specified by:
consolidatein interfaceConsolidatableCollection- Specified by:
consolidatein interfaceXRemovingCollection<E>- Returns:
- the number of discarded entries.
-
moveTo
- Specified by:
moveToin interfaceXProcessingCollection<E>
-
optimize
public final long optimize()Description copied from interface:XRemovingCollectionOptimizes internal memory usage by rebuilding the storage to only occupy as much memory as needed to store the currently contained elements in terms of the collection's current memory usage configuration (e.g. hash density).If this is not possible or not needed in the concreate implementation, this method does nothing.
Note that this method can consume a considerable amount of time depending on the implementation and should only be called intentionally and accurately when reducing occupied memory is needed.
- Specified by:
optimizein interfaceOptimizableCollection- Specified by:
optimizein interfaceXRemovingCollection<E>- Returns:
- the amount of elements that can be added before the internal storage has to be adjusted.
-
moveSelection
- Specified by:
moveSelectionin interfaceXProcessingSequence<E>
-
removeAt
- Specified by:
removeAtin interfaceXProcessingSequence<E>- Throws:
UnsupportedOperationException
-
fetch
- Specified by:
fetchin interfaceXProcessingCollection<E>
-
pop
- Specified by:
popin interfaceXProcessingSequence<E>
-
pinch
- Specified by:
pinchin interfaceXProcessingCollection<E>
-
pick
- Specified by:
pickin interfaceXProcessingSequence<E>
-
removeRange
- Specified by:
removeRangein interfaceXRemovingSequence<E>
-
retainRange
Description copied from interface:XRemovingSequenceRemoving all elements but the ones from the offset (basically start index) to the offset+length (end index).- Specified by:
retainRangein interfaceXRemovingSequence<E>- Parameters:
startIndex- is the index of the first element to retainlength- is the amount of elements to retain- Returns:
- this
-
removeSelection
public final long removeSelection(long[] indices)- Specified by:
removeSelectionin interfaceXRemovingSequence<E>
-
toReversed
Description copied from interface:XGettingSequenceCreates a newXGettingSequencewith the reversed order of elements.This method creates a new collection and does not change the existing collection.
- Specified by:
toReversedin interfaceXDecreasingList<E>- Specified by:
toReversedin interfaceXDecreasingSequence<E>- Specified by:
toReversedin interfaceXGettingList<E>- Specified by:
toReversedin interfaceXGettingSequence<E>- Specified by:
toReversedin interfaceXProcessingList<E>- Specified by:
toReversedin interfaceXProcessingSequence<E>- Specified by:
toReversedin interfaceXSettingList<E>- Specified by:
toReversedin interfaceXSettingSequence<E>- Specified by:
toReversedin interfaceXSortableSequence<E>- Overrides:
toReversedin classSubListView<E>- Returns:
- New copy of the collection
-
copy
Description copied from interface:XGettingSequenceCreates a true copy of this list which references the same elements in the same order as this list does at the time the method is called. The elements themselves are NOT copied (no deep copying).
The type of the returned list is the same as of this list if possible (i.e.: a SubList can not meaningful return a true copy that references its elements but still is a SubList)- Specified by:
copyin interfaceCopyable- Specified by:
copyin interfaceXDecreasingList<E>- Specified by:
copyin interfaceXDecreasingSequence<E>- Specified by:
copyin interfaceXGettingBag<E>- Specified by:
copyin interfaceXGettingCollection<E>- Specified by:
copyin interfaceXGettingList<E>- Specified by:
copyin interfaceXGettingSequence<E>- Specified by:
copyin interfaceXProcessingBag<E>- Specified by:
copyin interfaceXProcessingList<E>- Specified by:
copyin interfaceXReplacingBag<E>- Specified by:
copyin interfaceXSettingList<E>- Specified by:
copyin interfaceXSettingSequence<E>- Specified by:
copyin interfaceXSortableSequence<E>- Overrides:
copyin classSubListView<E>- Returns:
- a copy of this list
-
nullRemove
public final long nullRemove()- Specified by:
nullRemovein interfaceXRemovingCollection<E>
-
view
Description copied from interface:XGettingSequenceCreates a sub-view of this collection and returns it. It is a read-only collection, which wraps around this collection and only allows read methods.
The view is limited to a range from the lowIndex to the highIndex.A view is different from immutable collection (
XGettingCollection.immure()) in the way, that changes in this collection are still affecting the view. The immutable collection on the other hand has no reference to this collection and changes therefore do not affect the immutable collection.- Specified by:
viewin interfaceXGettingList<E>- Specified by:
viewin interfaceXGettingSequence<E>- Specified by:
viewin interfaceXProcessingSequence<E>- Overrides:
viewin classSubListView<E>- Parameters:
fromIndex- defines lower boundary for the view of the collection.toIndex- defines higher boundary for the view of the collection.- Returns:
- new read-only collection to view a range of elements in this collection
-
old
- Specified by:
oldin interfaceXGettingCollection<E>- Specified by:
oldin interfaceXGettingList<E>- Overrides:
oldin classSubListView<E>
-
replaceOne
Description copied from interface:XReplacingBagReplaces the first element that is equal to the given element with the replacement and then returns true.- Specified by:
replaceOnein interfaceXReplacingBag<E>- Parameters:
element- to replacereplacement- for the found element- Returns:
trueif element is found,falseif not
-
replace
- Specified by:
replacein interfaceXReplacingBag<E>
-
replaceAll
- Specified by:
replaceAllin interfaceXReplacingBag<E>
-
replaceOne
- Specified by:
replaceOnein interfaceXReplacingBag<E>
-
replace
- Specified by:
replacein interfaceXReplacingBag<E>
-
substitute
- Specified by:
substitutein interfaceXReplacingCollection<E>
-
substitute
- Specified by:
substitutein interfaceXReplacingBag<E>
-
set
public final boolean set(long index, E element) throws IndexOutOfBoundsException, ArrayIndexOutOfBoundsException- Specified by:
setin interfaceXSettingSequence<E>- Throws:
IndexOutOfBoundsExceptionArrayIndexOutOfBoundsException
-
setGet
- Specified by:
setGetin interfaceXSettingSequence<E>
-
setFirst
- Specified by:
setFirstin interfaceXSettingSequence<E>
-
setLast
- Specified by:
setLastin interfaceXSettingSequence<E>
-
shiftTo
Description copied from interface:XOrderingSequenceMoves the element from the sourceIndex in the sequence to the targetIndex.
All other elements are possibly moved to create the empty slot for the shifting element.Does not expand or shrink the capacity of the sequence.
Throws a
IndexExceededExceptionif sourceIndex or targetIndex are greater than the size of the sequence.- Specified by:
shiftToin interfaceXOrderingSequence<E>- Specified by:
shiftToin interfaceXSortableSequence<E>- Parameters:
sourceIndex- points to the source element; Index of the source elementtargetIndex- points to the target element; Index of the target element- Returns:
- this
-
shiftTo
Description copied from interface:XOrderingSequenceMoves multiple elements from the sourceIndex in the sequence to the targetIndex.
All other elements are possibly moved to create the empty slot for the shifting element.Does not expand or shrink the capacity of the sequence.
Throws a
IndexExceededExceptionif sourceIndex or targetIndex exceed the size of the sequence.- Specified by:
shiftToin interfaceXOrderingSequence<E>- Specified by:
shiftToin interfaceXSortableSequence<E>- Parameters:
sourceIndex- points to the source element; Index of the source elementtargetIndex- points to the target element; Index of the target elementlength- Amount of moved elements.- Returns:
- self
-
shiftBy
Description copied from interface:XOrderingSequenceMoves the element from the sourceIndex in the sequence to a higher index position.
All other elements are possibly moved to create the empty slot for the shifting element. ("to the right")Does not expand or shrink the capacity of the sequence.
Throws a
IndexExceededExceptionif sourceIndex or targetIndex (sourceIndex+distance) exceed the size of the sequence.- Specified by:
shiftByin interfaceXOrderingSequence<E>- Specified by:
shiftByin interfaceXSortableSequence<E>- Parameters:
sourceIndex- points to the source element; Index of the source elementdistance- of how far the element should be moved. Example: 1 moves the element from position 21 to position 22- Returns:
- self
-
shiftBy
Description copied from interface:XOrderingSequenceMoves multiple elements from the sourceIndex in the sequence to a higher index position.
All other elements are possibly moved to create the empty slot for the shifting elements. ("to the right")Does not expand or shrink the capacity of the sequence.
Throws a
IndexExceededExceptionif sourceIndex or targetIndex (sourceIndex+distance+length) exceed the size of the sequence.- Specified by:
shiftByin interfaceXOrderingSequence<E>- Specified by:
shiftByin interfaceXSortableSequence<E>- Parameters:
sourceIndex- points to the source element; Index of the source elementdistance- of how far the element should be moved. Example: 1 moves the element from position 21 to position 22length- Amount of moved elements.- Returns:
- self
-
setAll
- Specified by:
setAllin interfaceXDecreasingList<E>- Specified by:
setAllin interfaceXDecreasingSequence<E>- Specified by:
setAllin interfaceXSettingList<E>- Specified by:
setAllin interfaceXSettingSequence<E>
-
set
- Specified by:
setin interfaceXDecreasingList<E>- Specified by:
setin interfaceXDecreasingSequence<E>- Specified by:
setin interfaceXSettingList<E>- Specified by:
setin interfaceXSettingSequence<E>
-
set
public final XDecreasingList<E> set(long index, XGettingSequence<? extends E> elements, long offset, long length)- Specified by:
setin interfaceXDecreasingList<E>- Specified by:
setin interfaceXDecreasingSequence<E>- Specified by:
setin interfaceXSettingList<E>- Specified by:
setin interfaceXSettingSequence<E>
-
swap
- Specified by:
swapin interfaceXDecreasingList<E>- Specified by:
swapin interfaceXDecreasingSequence<E>- Specified by:
swapin interfaceXOrderingSequence<E>- Specified by:
swapin interfaceXSettingList<E>- Specified by:
swapin interfaceXSettingSequence<E>- Specified by:
swapin interfaceXSortableSequence<E>
-
swap
- Specified by:
swapin interfaceXDecreasingList<E>- Specified by:
swapin interfaceXDecreasingSequence<E>- Specified by:
swapin interfaceXOrderingSequence<E>- Specified by:
swapin interfaceXSettingList<E>- Specified by:
swapin interfaceXSettingSequence<E>- Specified by:
swapin interfaceXSortableSequence<E>
-
reverse
Description copied from interface:XSortableSequenceReverses the order of its own elements and returns itself.Unlike the
XSortableSequence.toReversed()method, this method does not create a new collection, but changes the order of its own elements.- Specified by:
reversein interfaceXDecreasingList<E>- Specified by:
reversein interfaceXDecreasingSequence<E>- Specified by:
reversein interfaceXOrderingSequence<E>- Specified by:
reversein interfaceXSettingList<E>- Specified by:
reversein interfaceXSettingSequence<E>- Specified by:
reversein interfaceXSortableSequence<E>- Returns:
- this
-
fill
Description copied from interface:XSettingListFills all slots from the offset to the offset+length with the given element, regardless of whether or not a slot isnull.- Specified by:
fillin interfaceXDecreasingList<E>- Specified by:
fillin interfaceXSettingList<E>- Parameters:
offset- from the start of the collection (start index)length- of how many slots should be filledelement- to use for filling of slots- Returns:
- this
-
sort
Description copied from interface:SortableSorts this collection according to the given comparator and returns itself.- Specified by:
sortin interfaceSortable<E>- Specified by:
sortin interfaceXDecreasingList<E>- Specified by:
sortin interfaceXDecreasingSequence<E>- Specified by:
sortin interfaceXSettingList<E>- Specified by:
sortin interfaceXSettingSequence<E>- Specified by:
sortin interfaceXSortableSequence<E>- Parameters:
comparator- to sort this collection- Returns:
- this
-