Interface XBag<E>
- All Superinterfaces:
CapacityCarrying,CapacityExtendable,Clearable,ConsolidatableCollection,Consumer<E>,Copyable,ExtendedBag<E>,ExtendedCollection<E>,Iterable<E>,OptimizableCollection,Processable<E>,ReleasingCollection<E>,Sized,Truncateable,XAddGetCollection<E>,XAddingBag<E>,XAddingCollection<E>,XCollection<E>,XGettingBag<E>,XGettingCollection<E>,XIterable<E>,XJoinable<E>,XProcessingBag<E>,XProcessingCollection<E>,XPutGetBag<E>,XPutGetCollection<E>,XPuttingBag<E>,XPuttingCollection<E>,XRemovingBag<E>,XRemovingCollection<E>
- All Known Subinterfaces:
XBasicList<E>,XLadder<E>,XList<E>
- All Known Implementing Classes:
ArrayCollector,BulkList,EqBulkList,LimitList,LockedList,Single,SubList,SynchList
public interface XBag<E> extends XPutGetBag<E>, XProcessingBag<E>, XCollection<E>
The naming for the type is based on the conception that a bag can contain any elements (including duplicates), but is definitely not ordered.
Apologies to the Apache guys (but honestly: why should the conception of a "bag" imply that its contained elements are counted? Apart from that, counting elements is such a specific addon logic, that the proper approach would be to extend an existing type, like CountingList, etc. but surely not "bag", which implies unordered content).
This will probably be a rather academic type and has been introduced more for reasons of completeness of the typing architecture, as in practice, list type collections will be preferred to pure bag type collections.
Bag type collections are architectural on par with the other level 1 collection types set and sequence.
Currently, the only known to be useful subtype of a bag is the level 2 collection type list, combining bag and sequence (order of elements).
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceXBag.Factory<E>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.XGettingCollection
XGettingCollection.Creator<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.XPutGetCollection
XPutGetCollection.Creator<E>Nested classes/interfaces inherited from interface one.microstream.collections.types.XPuttingBag
XPuttingBag.Creator<E> -
Method Summary
Modifier and Type Method Description XBag<E>addAll(E... elements)XBag<E>addAll(E[] elements, int srcStartIndex, int srcLength)XBag<E>addAll(XGettingCollection<? extends E> elements)XBag<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.XBag<E>putAll(E... elements)XBag<E>putAll(E[] elements, int srcStartIndex, int srcLength)XBag<E>putAll(XGettingCollection<? extends E> elements)Methods inherited from interface one.microstream.collections.interfaces.CapacityCarrying
isFull, maximumCapacity, remainingCapacityMethods inherited from interface one.microstream.collections.interfaces.CapacityExtendable
currentCapacity, currentFreeCapacity, ensureCapacity, ensureFreeCapacityMethods inherited from interface one.microstream.collections.interfaces.ExtendedCollection
nullAllowedMethods inherited from interface one.microstream.collections.types.XAddingCollection
accept, add, nullAddMethods inherited from interface one.microstream.collections.types.XGettingCollection
applies, contains, containsAll, containsId, containsSearched, copyTo, count, countBy, distinct, distinct, equality, equals, equals, equalsContent, except, filterTo, get, hashCode, hasVolatileElements, intersect, intSize, iterator, join, max, min, nullContained, old, search, seek, size, toArray, toArray, unionMethods inherited from interface one.microstream.collections.types.XProcessingCollection
fetch, iterate, moveTo, pinch, removeBy, removeDuplicates, retrieve, retrieveByMethods inherited from interface one.microstream.collections.types.XRemovingCollection
clear, consolidate, nullRemove, optimize, remove, removeAll, removeDuplicates, removeOne, retainAll, truncate
-
Method Details
-
putAll
- Specified by:
putAllin interfaceXCollection<E>- Specified by:
putAllin interfaceXPutGetCollection<E>- Specified by:
putAllin interfaceXPuttingBag<E>- Specified by:
putAllin interfaceXPuttingCollection<E>
-
putAll
- Specified by:
putAllin interfaceXCollection<E>- Specified by:
putAllin interfaceXPutGetCollection<E>- Specified by:
putAllin interfaceXPuttingBag<E>- Specified by:
putAllin interfaceXPuttingCollection<E>
-
putAll
- Specified by:
putAllin interfaceXCollection<E>- Specified by:
putAllin interfaceXPutGetCollection<E>- Specified by:
putAllin interfaceXPuttingBag<E>- Specified by:
putAllin interfaceXPuttingCollection<E>
-
addAll
- Specified by:
addAllin interfaceXAddGetCollection<E>- Specified by:
addAllin interfaceXAddingBag<E>- Specified by:
addAllin interfaceXAddingCollection<E>- Specified by:
addAllin interfaceXCollection<E>- Specified by:
addAllin interfaceXPutGetCollection<E>- Specified by:
addAllin interfaceXPuttingBag<E>
-
addAll
- Specified by:
addAllin interfaceXAddGetCollection<E>- Specified by:
addAllin interfaceXAddingBag<E>- Specified by:
addAllin interfaceXAddingCollection<E>- Specified by:
addAllin interfaceXCollection<E>- Specified by:
addAllin interfaceXPutGetCollection<E>- Specified by:
addAllin interfaceXPuttingBag<E>
-
addAll
- Specified by:
addAllin interfaceXAddGetCollection<E>- Specified by:
addAllin interfaceXAddingBag<E>- Specified by:
addAllin interfaceXAddingCollection<E>- Specified by:
addAllin interfaceXCollection<E>- Specified by:
addAllin interfaceXPutGetCollection<E>- Specified by:
addAllin interfaceXPuttingBag<E>
-
copy
Description copied from interface:XGettingCollectionCreates 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:
copyin interfaceCopyable- Specified by:
copyin interfaceXAddGetCollection<E>- Specified by:
copyin interfaceXCollection<E>- Specified by:
copyin interfaceXGettingBag<E>- Specified by:
copyin interfaceXGettingCollection<E>- Specified by:
copyin interfaceXProcessingBag<E>- Specified by:
copyin interfaceXPutGetCollection<E>- Returns:
- a copy of this list
-