Class ShortSegmentedSortedMultiset
java.lang.Object
io.deephaven.engine.table.impl.ssms.ShortSegmentedSortedMultiset
- All Implemented Interfaces:
SegmentedSortedMultiSet<Short>,LongSizedDataStructure,ShortVector,Vector<ShortVector>,Serializable,Comparable<ShortVector>,Iterable<Short>
public final class ShortSegmentedSortedMultiset
extends Object
implements SegmentedSortedMultiSet<Short>, ShortVector
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.deephaven.engine.table.impl.ssms.SegmentedSortedMultiSet
SegmentedSortedMultiSet.RemoveContextNested classes/interfaces inherited from interface io.deephaven.vector.ShortVector
ShortVector.Indirect -
Field Summary
Fields inherited from interface io.deephaven.engine.table.impl.ssms.SegmentedSortedMultiSet
SEGMENTED_SORTED_MULTISET_VALIDATIONFields inherited from interface io.deephaven.vector.ShortVector
serialVersionUIDFields inherited from interface io.deephaven.vector.Vector
NULL_ELEMENT_STRING -
Constructor Summary
ConstructorsConstructorDescriptionShortSegmentedSortedMultiset(int leafSize) Create a ShortSegmentedSortedArray with the given leafSize. -
Method Summary
Modifier and TypeMethodDescriptionvoidshort[]Get an array representation of the elements of this Vector.booleanvoidfillAddedChunk(WritableShortChunk<? extends Values> chunk, int position) voidfillKeyChunk(WritableChunk<?> keyChunk, int offset) voidfillRemovedChunk(WritableShortChunk<? extends Values> chunk, int position) shortget(long index) Get the element of this ShortVector at offsetindex.intgetMax()longshortgetMin()longshortintintinthashCode()booleaninsert(WritableChunk<? extends Values> valuesToInsert, WritableIntChunk<ChunkLengths> counts) Insert new valuesToInsert into this SSMS.keyChunk()voidmoveBackToFront(SegmentedSortedMultiSet untypedDestination, long count) Remove count elements from the back of this SSM and add them to the front of the destination SSM.voidmoveFrontToBack(SegmentedSortedMultiSet untypedDestination, long count) Remove count elements from the front of this SSM and add them to the back of the destination SSM.booleanremove(SegmentedSortedMultiSet.RemoveContext removeContext, WritableChunk<? extends Values> valuesToRemove, WritableIntChunk<ChunkLengths> counts) Remove valuesToRemove from this SSA.voidsetTrackDeltas(boolean shouldTrackDeltas) longsize()The size of this data structure.subVector(long fromIndexInclusive, long toIndexExclusive) Get a Vector that represents a slice of this Vector.subVectorByPositions(long[] positions) Get a Vector that represents a set of offset positions in this Vector.short[]toArray()Get an array representation of the elements of this Vector.toString()longvoidvalidate()Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface io.deephaven.util.datastructures.LongSizedDataStructure
intSize, intSizeMethods inherited from interface io.deephaven.vector.ShortVector
compareTo, getComponentType, iterator, iterator, toString
-
Constructor Details
-
ShortSegmentedSortedMultiset
public ShortSegmentedSortedMultiset(int leafSize) Create a ShortSegmentedSortedArray with the given leafSize.- Parameters:
leafSize- the maximumSize for any leaf
-
-
Method Details
-
insert
public boolean insert(WritableChunk<? extends Values> valuesToInsert, WritableIntChunk<ChunkLengths> counts) Description copied from interface:SegmentedSortedMultiSetInsert new valuesToInsert into this SSMS. The valuesToInsert to insert must be sorted, without duplicates. The valuesToInsert and counts chunks will be modified during this call, and the resulting chunks are undefined.- Specified by:
insertin interfaceSegmentedSortedMultiSet<Short>- Parameters:
valuesToInsert- the valuesToInsert to insertcounts- the number of times each value occurs- Returns:
- true if any new values were inserted
-
remove
public boolean remove(SegmentedSortedMultiSet.RemoveContext removeContext, WritableChunk<? extends Values> valuesToRemove, WritableIntChunk<ChunkLengths> counts) Remove valuesToRemove from this SSA. The valuesToRemove to remove must be sorted.- Specified by:
removein interfaceSegmentedSortedMultiSet<Short>- Parameters:
removeContext- removalContextvaluesToRemove- the valuesToRemove to remove- Returns:
- true if any values were removed.
-
validate
-
totalSize
public long totalSize()- Specified by:
totalSizein interfaceSegmentedSortedMultiSet<Short>- Returns:
- the total size of the set in elements (i.e. if A exists twice, 2 is returned not one)
-
getNodeSize
public int getNodeSize()- Specified by:
getNodeSizein interfaceSegmentedSortedMultiSet<Short>
-
getMin
- Specified by:
getMinin interfaceSegmentedSortedMultiSet<Short>
-
getMax
- Specified by:
getMaxin interfaceSegmentedSortedMultiSet<Short>
-
getMinShort
public short getMinShort() -
getMinCount
public long getMinCount()- Specified by:
getMinCountin interfaceSegmentedSortedMultiSet<Short>- Returns:
- the number of times the minimum value exists in this SSM.
-
getMaxShort
public short getMaxShort() -
getMaxCount
public long getMaxCount()- Specified by:
getMaxCountin interfaceSegmentedSortedMultiSet<Short>- Returns:
- the number of times the maximum value exists in this SSM.
-
moveFrontToBack
Description copied from interface:SegmentedSortedMultiSetRemove count elements from the front of this SSM and add them to the back of the destination SSM.The minimum element of this SSM must be greater than or equal to the maximum of destination.
- Specified by:
moveFrontToBackin interfaceSegmentedSortedMultiSet<Short>- Parameters:
untypedDestination- the SegmentedSortedMultiSet to append count elements tocount- how many elements to move to the destination
-
moveBackToFront
Description copied from interface:SegmentedSortedMultiSetRemove count elements from the back of this SSM and add them to the front of the destination SSM.The minimum element of this SSM must be less than or equal to the maximum of destination.
- Specified by:
moveBackToFrontin interfaceSegmentedSortedMultiSet<Short>- Parameters:
untypedDestination- the SegmentedSortedMultiSet to prepend count elements tocount- how many elements to move to the destination
-
keyChunk
- Specified by:
keyChunkin interfaceSegmentedSortedMultiSet<Short>
-
fillKeyChunk
- Specified by:
fillKeyChunkin interfaceSegmentedSortedMultiSet<Short>
-
countChunk
- Specified by:
countChunkin interfaceSegmentedSortedMultiSet<Short>
-
setTrackDeltas
public void setTrackDeltas(boolean shouldTrackDeltas) - Specified by:
setTrackDeltasin interfaceSegmentedSortedMultiSet<Short>
-
clearDeltas
public void clearDeltas()- Specified by:
clearDeltasin interfaceSegmentedSortedMultiSet<Short>
-
getAddedSize
public int getAddedSize()- Specified by:
getAddedSizein interfaceSegmentedSortedMultiSet<Short>
-
getRemovedSize
public int getRemovedSize()- Specified by:
getRemovedSizein interfaceSegmentedSortedMultiSet<Short>
-
fillRemovedChunk
-
fillAddedChunk
-
getPrevValues
-
get
public short get(long index) Description copied from interface:ShortVectorGet the element of this ShortVector at offsetindex. Ifindexis not within range[0, size()), will return thenull short.- Specified by:
getin interfaceShortVector- Parameters:
index- An offset into this ShortVector- Returns:
- The element at the specified offset, or the
null short
-
subVector
Description copied from interface:VectorGet a Vector that represents a slice of this Vector.- Specified by:
subVectorin interfaceShortVector- Specified by:
subVectorin interfaceVector<ShortVector>- Parameters:
fromIndexInclusive- The first offset into this Vector to include in the result; if negative, the result will have a range of null values at offsets in[0, -fromIndexInclusive)toIndexExclusive- The first offset into this Vector to not include in the result; if larger thansize(), the result will have a range of null values at the corresponding offsets- Returns:
- The sub-Vector specified by
[fromIndexInclusive, toIndexExclusive)
-
subVectorByPositions
Description copied from interface:VectorGet a Vector that represents a set of offset positions in this Vector.- Specified by:
subVectorByPositionsin interfaceShortVector- Specified by:
subVectorByPositionsin interfaceVector<ShortVector>- Parameters:
positions- The offsets to include; if not within[0, size()), the corresponding offset in the result will contain the appropriate null value- Returns:
- The sub-Vector specified by
positions
-
toArray
public short[] toArray()Description copied from interface:VectorGet an array representation of the elements of this Vector. Callers must not mutate the result, as implementations may choose to return their backing array in some cases.- Specified by:
toArrayin interfaceShortVector- Specified by:
toArrayin interfaceVector<ShortVector>- Returns:
- An array representation of the elements of this Vector that must not be mutated
-
copyToArray
public short[] copyToArray()Description copied from interface:VectorGet an array representation of the elements of this Vector. Callers may freely mutate the result, as it is guaranteed to be freshly-allocated and belongs to the caller upon return.- Specified by:
copyToArrayin interfaceShortVector- Specified by:
copyToArrayin interfaceVector<ShortVector>- Returns:
- An array representation of the elements of this Vector that may be freely mutated
-
size
public long size()Description copied from interface:LongSizedDataStructureThe size of this data structure.- Specified by:
sizein interfaceLongSizedDataStructure- Specified by:
sizein interfaceSegmentedSortedMultiSet<Short>- Returns:
- the size of the set (i.e. the number of unique elements).
-
getDirect
- Specified by:
getDirectin interfaceShortVector- Specified by:
getDirectin interfaceVector<ShortVector>- Returns:
- A version of this Vector that is flattened out to only reference memory
-
equals
-
hashCode
public int hashCode() -
toString
-