Interface XSequence<E>
- All Superinterfaces:
CapacityCarrying
,CapacityExtendable
,Clearable
,ConsolidatableCollection
,Consumer<E>
,Copyable
,ExtendedCollection<E>
,ExtendedSequence<E>
,Iterable<E>
,OptimizableCollection
,Processable<E>
,ReleasingCollection<E>
,Sized
,Sortable<E>
,Truncateable
,XAddGetCollection<E>
,XAddingCollection<E>
,XAddingSequence<E>
,XBasicSequence<E>
,XCollection<E>
,XExpandingSequence<E>
,XExtendingSequence<E>
,XGettingCollection<E>
,XGettingSequence<E>
,XIndexIterable<E>
,XInputtingSequence<E>
,XInsertingSequence<E>
,XIterable<E>
,XJoinable<E>
,XOrderingSequence<E>
,XPrependingSequence<E>
,XPreputtingSequence<E>
,XProcessingCollection<E>
,XProcessingSequence<E>
,XPutGetCollection<E>
,XPutGetSequence<E>
,XPuttingCollection<E>
,XPuttingSequence<E>
,XRemovingCollection<E>
,XRemovingSequence<E>
,XSortableSequence<E>
- All Known Subinterfaces:
XEnum<E>
,XList<E>
,XTable<K,V>
,XTable.Keys<K,V>
- All Known Implementing Classes:
ArrayCollector
,BulkList
,EqBulkList
,EqHashEnum
,EqHashTable
,EqHashTable.Keys
,HashEnum
,HashTable
,HashTable.Keys
,LimitList
,LockedList
,Single
,SubList
,SynchList
public interface XSequence<E> extends XBasicSequence<E>, XSortableSequence<E>, XInputtingSequence<E>
Being ordered is defined as: An procedure affecting one element does not affect the order of all other elements. Note that being ordered is not the same as being sorted. Being ordered only defines that there has to be a stable order, while being sorted defines that the order is not only stable but also complies to a certain sorting logic.
The concept of being ordered introduces the concept of indexed element accessing as a consequence.
Sequence type collections are architectural on par with the other level 1 collection types set and bag.
Currently existing subtypes of sequence (level 2 collection types) are list (combining sequence and bag), enum (combining sequence and set) and sortation (enhancing the contract from being ordered to being sorted).
Note that all collection types not being a subtype of sequence (like pure set and pure bag subtypes) are rather academic and most probably only reasonably usable for high end performance optimisations. This effectively makes the sequence the dominant level 1 collection type, almost superseding the level 0 collection type collection in practice.
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
XSequence.Creator<E>
Nested classes/interfaces inherited from interface one.microstream.collections.types.XBasicSequence
XBasicSequence.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>
-
Method Summary
Modifier and Type Method Description XSequence<E>
addAll(E... elements)
XSequence<E>
addAll(E[] elements, int srcStartIndex, int srcLength)
XSequence<E>
addAll(XGettingCollection<? extends E> elements)
XSequence<E>
copy()
Creates a true copy of this collection which references the same elements as this collection does at the time the method is called.XSequence<E>
putAll(E... elements)
Adds the specified elements to this collection if it is not already present (optional operation).XSequence<E>
putAll(E[] elements, int srcStartIndex, int srcLength)
Adds the specified elements to this collection if it is not already present (optional operation).
Only the elements with indizes from the srcStartIndex to the srcStartIndex+srcLength are put in the collection.XSequence<E>
putAll(XGettingCollection<? extends E> elements)
Adds the specified elements to this collection if it is not already present (optional operation).XSequence<E>
sort(Comparator<? super E> comparator)
Sorts this collection according to the given comparator and returns itself.XSequence<E>
toReversed()
Creates a newXGettingSequence
with the reversed order of elements.Methods inherited from interface one.microstream.collections.interfaces.CapacityCarrying
isFull, maximumCapacity, remainingCapacity
Methods inherited from interface one.microstream.collections.interfaces.CapacityExtendable
currentCapacity, currentFreeCapacity, ensureCapacity, ensureFreeCapacity
Methods inherited from interface one.microstream.collections.interfaces.ExtendedCollection
nullAllowed
Methods inherited from interface one.microstream.collections.types.XAddingCollection
accept, add, nullAdd
Methods 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, old, search, seek, size, toArray, toArray, union
Methods inherited from interface one.microstream.collections.types.XGettingSequence
at, copySelection, first, get, hasIndex, immure, indexBy, indexOf, isSorted, last, lastIndexBy, lastIndexOf, maxIndex, minIndex, peek, poll, range, scan, view
Methods inherited from interface one.microstream.collections.types.XInputtingSequence
input, inputAll, inputAll, inputAll, nullInput, prependAll, prependAll, prependAll, preputAll, preputAll, preputAll
Methods inherited from interface one.microstream.collections.types.XInsertingSequence
insert, insertAll, insertAll, insertAll, nullInsert
Methods inherited from interface one.microstream.collections.types.XPrependingSequence
nullPrepend, prepend
Methods inherited from interface one.microstream.collections.types.XPreputtingSequence
nullPreput, preput
Methods inherited from interface one.microstream.collections.types.XProcessingCollection
fetch, iterate, moveTo, pinch, removeBy, removeDuplicates, retrieve, retrieveBy
Methods inherited from interface one.microstream.collections.types.XProcessingSequence
moveSelection, pick, pop, removeAt, view
Methods inherited from interface one.microstream.collections.types.XRemovingCollection
clear, consolidate, nullRemove, optimize, remove, removeAll, removeDuplicates, removeOne, retainAll, truncate
Methods inherited from interface one.microstream.collections.types.XRemovingSequence
removeRange, removeSelection, retainRange
-
Method Details
-
putAll
Description copied from interface:XPuttingCollection
Adds the specified elements to this collection if it is not already present (optional operation).- Specified by:
putAll
in interfaceXBasicSequence<E>
- Specified by:
putAll
in interfaceXCollection<E>
- Specified by:
putAll
in interfaceXExpandingSequence<E>
- Specified by:
putAll
in interfaceXInputtingSequence<E>
- Specified by:
putAll
in interfaceXPutGetCollection<E>
- Specified by:
putAll
in interfaceXPutGetSequence<E>
- Specified by:
putAll
in interfaceXPuttingCollection<E>
- Specified by:
putAll
in interfaceXPuttingSequence<E>
- Parameters:
elements
- to add- Returns:
- this
-
putAll
Description copied from interface:XPuttingCollection
Adds the specified elements to this collection if it is not already present (optional operation).
Only the elements with indizes from the srcStartIndex to the srcStartIndex+srcLength are put in the collection.- Specified by:
putAll
in interfaceXBasicSequence<E>
- Specified by:
putAll
in interfaceXCollection<E>
- Specified by:
putAll
in interfaceXExpandingSequence<E>
- Specified by:
putAll
in interfaceXInputtingSequence<E>
- Specified by:
putAll
in interfaceXPutGetCollection<E>
- Specified by:
putAll
in interfaceXPutGetSequence<E>
- Specified by:
putAll
in interfaceXPuttingCollection<E>
- Specified by:
putAll
in interfaceXPuttingSequence<E>
- Parameters:
elements
- to addsrcStartIndex
- start index of elements-array to add to collectionsrcLength
- length of elements-array to add to collection- Returns:
- this
-
putAll
Description copied from interface:XPuttingCollection
Adds the specified elements to this collection if it is not already present (optional operation).- Specified by:
putAll
in interfaceXBasicSequence<E>
- Specified by:
putAll
in interfaceXCollection<E>
- Specified by:
putAll
in interfaceXExpandingSequence<E>
- Specified by:
putAll
in interfaceXInputtingSequence<E>
- Specified by:
putAll
in interfaceXPutGetCollection<E>
- Specified by:
putAll
in interfaceXPutGetSequence<E>
- Specified by:
putAll
in interfaceXPuttingCollection<E>
- Specified by:
putAll
in interfaceXPuttingSequence<E>
- Parameters:
elements
- to add- Returns:
- this
-
addAll
- Specified by:
addAll
in interfaceXAddGetCollection<E>
- Specified by:
addAll
in interfaceXAddingCollection<E>
- Specified by:
addAll
in interfaceXAddingSequence<E>
- Specified by:
addAll
in interfaceXBasicSequence<E>
- Specified by:
addAll
in interfaceXCollection<E>
- Specified by:
addAll
in interfaceXExpandingSequence<E>
- Specified by:
addAll
in interfaceXExtendingSequence<E>
- Specified by:
addAll
in interfaceXInputtingSequence<E>
- Specified by:
addAll
in interfaceXInsertingSequence<E>
- Specified by:
addAll
in interfaceXPutGetCollection<E>
- Specified by:
addAll
in interfaceXPutGetSequence<E>
-
addAll
- Specified by:
addAll
in interfaceXAddGetCollection<E>
- Specified by:
addAll
in interfaceXAddingCollection<E>
- Specified by:
addAll
in interfaceXAddingSequence<E>
- Specified by:
addAll
in interfaceXBasicSequence<E>
- Specified by:
addAll
in interfaceXCollection<E>
- Specified by:
addAll
in interfaceXExpandingSequence<E>
- Specified by:
addAll
in interfaceXExtendingSequence<E>
- Specified by:
addAll
in interfaceXInputtingSequence<E>
- Specified by:
addAll
in interfaceXInsertingSequence<E>
- Specified by:
addAll
in interfaceXPutGetCollection<E>
- Specified by:
addAll
in interfaceXPutGetSequence<E>
-
addAll
- Specified by:
addAll
in interfaceXAddGetCollection<E>
- Specified by:
addAll
in interfaceXAddingCollection<E>
- Specified by:
addAll
in interfaceXAddingSequence<E>
- Specified by:
addAll
in interfaceXBasicSequence<E>
- Specified by:
addAll
in interfaceXCollection<E>
- Specified by:
addAll
in interfaceXExpandingSequence<E>
- Specified by:
addAll
in interfaceXExtendingSequence<E>
- Specified by:
addAll
in interfaceXInputtingSequence<E>
- Specified by:
addAll
in interfaceXInsertingSequence<E>
- Specified by:
addAll
in interfaceXPutGetCollection<E>
- Specified by:
addAll
in interfaceXPutGetSequence<E>
-
copy
Description copied from interface:XGettingCollection
Creates a true copy of this collection which references the same elements as this collection does at the time the method is called. The elements themselves are NOT copied (no deep copying).
The type of the returned set is the same as of this list if possible.- Specified by:
copy
in interfaceCopyable
- Specified by:
copy
in interfaceXAddGetCollection<E>
- Specified by:
copy
in interfaceXBasicSequence<E>
- Specified by:
copy
in interfaceXCollection<E>
- Specified by:
copy
in interfaceXGettingCollection<E>
- Specified by:
copy
in interfaceXGettingSequence<E>
- Specified by:
copy
in interfaceXPutGetCollection<E>
- Specified by:
copy
in interfaceXPutGetSequence<E>
- Specified by:
copy
in interfaceXSortableSequence<E>
- Returns:
- a copy of this list
-
toReversed
Description copied from interface:XGettingSequence
Creates a newXGettingSequence
with the reversed order of elements.This method creates a new collection and does not change the existing collection.
- Specified by:
toReversed
in interfaceXBasicSequence<E>
- Specified by:
toReversed
in interfaceXGettingSequence<E>
- Specified by:
toReversed
in interfaceXProcessingSequence<E>
- Specified by:
toReversed
in interfaceXPutGetSequence<E>
- Specified by:
toReversed
in interfaceXSortableSequence<E>
- Returns:
- New copy of the collection
-
sort
Description copied from interface:Sortable
Sorts this collection according to the given comparator and returns itself.
-