- java.lang.Object
 - 
- com.pervasive.datarush.sequences.scalar.SparseIntTokenList
 
 
- 
- All Implemented Interfaces:
 MutableTokenSequence,DoubleTokenSequence,FloatTokenSequence,IntTokenSequence,LongTokenSequence,MutableIntTokenSequence,MutableScalarTokenSequence,NumericTokenSequence,ScalarTokenAppendable,ScalarTokenSequence,TokenAppendable,TokenSequence,ScalarTyped,TokenTyped
public final class SparseIntTokenList extends Object implements MutableIntTokenSequence
An implementation ofMutableIntTokenSequencewhich stores data sparsely. That is, zero values are not stored. This is a much more efficient mechanism when the majority of values are zero. 
- 
- 
Constructor Summary
Constructors Constructor Description SparseIntTokenList(int initialCapacity)Creates a new empty list. 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidappend(int value)Appends the specified integer to this sequence.voidappend(int value, int count)Appends the specified integer to this sequence multiple times.voidappend(TokenSequence data)Appends all tokens in the specified sequence to this sequence.voidappend(TokenSequence data, int start, int length)Appends a subsequence of tokens in the specified sequence to this sequence.voidappend(TokenValued value)Appends the specified token value to this sequence.voidappend(TokenValued value, long count)Appends the specified token value to this sequence multiple times.voidappendNull()Append a null value to this sequence.voidappendNull(int count)Append a null value to this sequence.voidappendZero()Appends a zero value to this sequence.voidappendZero(int count)Appends the specified number of zero values to this sequence.intcompareElement(int absoluteIndex, TokenValued value)Compares the value of the specified token to the token at which the given port is positioned.intcompareElements(int lhsAbsoluteIndex, int rhsAbsoluteIndex)Compares the values of the tokens at the specified positions.voidensureCanonical()Ensures that the internal representation is in a canonical form such that it can be read safely by multiple threads.voidfillValue(int start, int length, TokenValued value)Sets the tokens in the specified subsequence to the given value.BigDecimalgetBigDecimal(int index)Gets the value of the specified token as aBigDecimal.doublegetDouble(int index)Gets the value of the specified token as adouble.ElementComparatorgetElementComparator(TokenOrder sortOrder)Gets anElementComparatorfor this sequence using the specified ordering.floatgetFloat(int index)Gets the value of the specified token as afloat.intgetInt(int index)Gets the value of the specified token as anint.longgetLong(int index)Get the value of the specified token as along.longgetModificationCount()Returns the current modification count.IntValuedgetToken(int index)Gets the value at the specified position.IntSettablegetTokenSetter(int index)Returns a mutator for the given index.ScalarTokenTypegetType()Gets the data type of the tokens in the sequence.voidgetValues(int start, double[] values, boolean[] nulls, int offset, int length)Gets the values and null indicators for a range of tokens asdoubles.voidgetValues(int start, float[] values, boolean[] nulls, int offset, int length)Gets the values and null indicators for a range of tokens asfloats.voidgetValues(int start, int[] values, boolean[] nulls, int offset, int length)Gets the values and null indicators for a range of tokens asints.voidgetValues(int start, long[] values, boolean[] nulls, int offset, int length)Gets the values and null indicators for a range of tokens aslongs.voidgetValues(int start, BigDecimal[] values, boolean[] nulls, int offset, int length)Gets the values and null indicators for a range of tokens asBigDecimalobjects.inthashCode(int absoluteIndex)Gets the hash code for the token at the specified position.booleanisNull()Returns whether all elements are null.booleanisNull(int absoluteIndex)Indicates whether the specified token has a null value.booleanisZero(int absoluteIndex)Indicates whether the specified token has a zero value.IntValuedIteratornewValueIterator()Creates an iterator over the non-null values of this sequence.voidreset()Removes all elements from the sequence.voidsetInt(int absoluteIndex, int value)Sets the token at the specified position to the given value.voidsetNull(int absoluteIndex)Sets the token at the specified position to be null valued.voidsetNull(int start, int length)Sets the tokens in the specified subsequence to be null valued.voidsetValue(int absoluteIndex, TokenValued value)Sets the token at the specified position to the given value.voidsetValues(int start, TokenSequence values, int offset, int length)Sets the tokens in the specified subsequence of the array to the corresponding values from a subsequence of the given source sequence.voidsetZero(int absoluteIndex)Sets the token at the specified position to be zero valued.voidsetZero(int start, int length)Sets the tokens in the specified subsequence to be zero valued.intsize()Gets the length of the sequence.StringtoString()StringtoString(int absoluteIndex)Gets the string representation of the token at the specified position.- 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait 
- 
Methods inherited from interface com.pervasive.datarush.sequences.scalar.MutableScalarTokenSequence
ensureCanonical, getModificationCount 
- 
Methods inherited from interface com.pervasive.datarush.sequences.MutableTokenSequence
appendNull, appendNull, appendZero, appendZero, fillValue, reset, setNull, setNull, setValue, setValues, setZero, setZero 
- 
Methods inherited from interface com.pervasive.datarush.sequences.scalar.ScalarTokenSequence
getType, isNull, isZero 
- 
Methods inherited from interface com.pervasive.datarush.sequences.TokenAppendable
append, append, append, append 
- 
Methods inherited from interface com.pervasive.datarush.sequences.TokenSequence
compareElement, compareElements, getElementComparator, hashCode, isNull, size, toString 
 - 
 
 - 
 
- 
- 
Method Detail
- 
append
public void append(int value)
Description copied from interface:MutableIntTokenSequenceAppends the specified integer to this sequence.- Specified by:
 appendin interfaceMutableIntTokenSequence- Parameters:
 value- the value to append.
 
- 
append
public void append(int value, int count)Description copied from interface:MutableIntTokenSequenceAppends the specified integer to this sequence multiple times.- Specified by:
 appendin interfaceMutableIntTokenSequence- Parameters:
 value- the value to append.count- the number of copies to append.
 
- 
setInt
public void setInt(int absoluteIndex, int value)Description copied from interface:MutableIntTokenSequenceSets the token at the specified position to the given value.- Specified by:
 setIntin interfaceMutableIntTokenSequence- Parameters:
 absoluteIndex- the position to modifyvalue- the new value
 
- 
getInt
public int getInt(int index)
Description copied from interface:IntTokenSequenceGets the value of the specified token as anint.- Specified by:
 getIntin interfaceIntTokenSequence- Parameters:
 index- the position of the token in the sequence- Returns:
 - the value of the token.  If the 
 token is null valued, 
0is returned. 
 
- 
getLong
public long getLong(int index)
Description copied from interface:LongTokenSequenceGet the value of the specified token as along.- Specified by:
 getLongin interfaceLongTokenSequence- Parameters:
 index- the position of the token in the sequence- Returns:
 - the value of the token.  If the 
 token is null valued, 
0is returned. 
 
- 
getFloat
public float getFloat(int index)
Description copied from interface:FloatTokenSequenceGets the value of the specified token as afloat.- Specified by:
 getFloatin interfaceFloatTokenSequence- Parameters:
 index- the position of the token in the sequence- Returns:
 - the value of the token.  If the 
 token is null valued, 
Float.NaNis returned. 
 
- 
getDouble
public double getDouble(int index)
Description copied from interface:DoubleTokenSequenceGets the value of the specified token as adouble.- Specified by:
 getDoublein interfaceDoubleTokenSequence- Parameters:
 index- the position of the token in the sequence- Returns:
 - the value of the token.  If the 
 token is null valued, 
Double.NaNis returned. 
 
- 
getBigDecimal
public BigDecimal getBigDecimal(int index)
Description copied from interface:NumericTokenSequenceGets the value of the specified token as aBigDecimal.- Specified by:
 getBigDecimalin interfaceNumericTokenSequence- Parameters:
 index- the position of the token in the sequence- Returns:
 - the value of the token.  If the 
 token is null valued, 
nullis returned. 
 
- 
getToken
public IntValued getToken(int index)
Description copied from interface:TokenSequenceGets the value at the specified position.- Specified by:
 getTokenin interfaceDoubleTokenSequence- Specified by:
 getTokenin interfaceFloatTokenSequence- Specified by:
 getTokenin interfaceIntTokenSequence- Specified by:
 getTokenin interfaceLongTokenSequence- Specified by:
 getTokenin interfaceNumericTokenSequence- Specified by:
 getTokenin interfaceScalarTokenSequence- Specified by:
 getTokenin interfaceTokenSequence- Parameters:
 index- the index of the token- Returns:
 - the value
 
 
- 
getTokenSetter
public IntSettable getTokenSetter(int index)
Description copied from interface:MutableTokenSequenceReturns a mutator for the given index.- Specified by:
 getTokenSetterin interfaceMutableIntTokenSequence- Specified by:
 getTokenSetterin interfaceMutableScalarTokenSequence- Specified by:
 getTokenSetterin interfaceMutableTokenSequence- Parameters:
 index- the position- Returns:
 - a mutator for the given index.
 
 
- 
getValues
public void getValues(int start, int[] values, boolean[] nulls, int offset, int length)Description copied from interface:IntTokenSequenceGets the values and null indicators for a range of tokens asints.- Specified by:
 getValuesin interfaceIntTokenSequence- Parameters:
 start- the starting index of the rangevalues- an array into which to place element valuesnulls- an array into which to place null indicator valuesoffset- the starting offset into the target arrays. That is,elements[offset]andnulls[offset]will get the value and null indicator respectively of the token at positionstart, and so on.length- number of tokens to get
 
- 
getValues
public void getValues(int start, long[] values, boolean[] nulls, int offset, int length)Description copied from interface:LongTokenSequenceGets the values and null indicators for a range of tokens aslongs.- Specified by:
 getValuesin interfaceLongTokenSequence- Parameters:
 start- the starting index of the rangevalues- an array into which to place element valuesnulls- an array into which to place null indicator valuesoffset- the starting offset into the target arrays. That is,elements[offset]andnulls[offset]will get the value and null indicator respectively of the token at positionstart, and so on.length- number of tokens to get
 
- 
getValues
public void getValues(int start, double[] values, boolean[] nulls, int offset, int length)Description copied from interface:DoubleTokenSequenceGets the values and null indicators for a range of tokens asdoubles.- Specified by:
 getValuesin interfaceDoubleTokenSequence- Parameters:
 start- the starting index of the rangevalues- an array into which to place element valuesnulls- an array into which to place null indicator valuesoffset- the starting offset into the target arrays. That is,elements[offset]andnulls[offset]will get the value and null indicator respectively of the token at positionstart, and so on.length- number of tokens to get
 
- 
getValues
public void getValues(int start, BigDecimal[] values, boolean[] nulls, int offset, int length)Description copied from interface:NumericTokenSequenceGets the values and null indicators for a range of tokens asBigDecimalobjects.- Specified by:
 getValuesin interfaceNumericTokenSequence- Parameters:
 start- the starting index of the rangevalues- an array into which to place element valuesnulls- an array into which to place null indicator valuesoffset- the starting offset into the target arrays. That is,elements[offset]andnulls[offset]will get the value and null indicator respectively of the token at positionstart, and so on.length- number of tokens to get
 
- 
getValues
public void getValues(int start, float[] values, boolean[] nulls, int offset, int length)Description copied from interface:FloatTokenSequenceGets the values and null indicators for a range of tokens asfloats.- Specified by:
 getValuesin interfaceFloatTokenSequence- Parameters:
 start- the starting index of the rangevalues- an array into which to place element valuesnulls- an array into which to place null indicator valuesoffset- the starting offset into the target arrays. That is,elements[offset]andnulls[offset]will get the value and null indicator respectively of the token at positionstart, and so on.length- number of tokens to get
 
- 
newValueIterator
public IntValuedIterator newValueIterator()
Description copied from interface:TokenSequenceCreates an iterator over the non-null values of this sequence. The iterator will automatically be reset as modifications are made to the sequence.- Specified by:
 newValueIteratorin interfaceDoubleTokenSequence- Specified by:
 newValueIteratorin interfaceFloatTokenSequence- Specified by:
 newValueIteratorin interfaceIntTokenSequence- Specified by:
 newValueIteratorin interfaceLongTokenSequence- Specified by:
 newValueIteratorin interfaceNumericTokenSequence- Specified by:
 newValueIteratorin interfaceScalarTokenSequence- Specified by:
 newValueIteratorin interfaceTokenSequence- Returns:
 - an newly-created iterator over the non-null values of this sequence.
 
 
- 
isNull
public final boolean isNull()
Description copied from interface:ScalarTokenSequenceReturns whether all elements are null.- Specified by:
 isNullin interfaceScalarTokenSequence- Returns:
 - whether all elements are null.
 
 
- 
getModificationCount
public final long getModificationCount()
Description copied from interface:MutableScalarTokenSequenceReturns the current modification count. Modification count must be strictly increasing.- Specified by:
 getModificationCountin interfaceMutableScalarTokenSequence- Returns:
 - the current change sequence number
 
 
- 
size
public final int size()
Description copied from interface:TokenSequenceGets the length of the sequence.- Specified by:
 sizein interfaceTokenSequence- Returns:
 - the number of tokens in the sequence.
 
 
- 
setZero
public final void setZero(int absoluteIndex)
Description copied from interface:MutableTokenSequenceSets the token at the specified position to be zero valued.- Specified by:
 setZeroin interfaceMutableTokenSequence- Parameters:
 absoluteIndex- the position of the token in the array
 
- 
setZero
public void setZero(int start, int length)Description copied from interface:MutableTokenSequenceSets the tokens in the specified subsequence to be zero valued.- Specified by:
 setZeroin interfaceMutableTokenSequence- Parameters:
 start- the starting index of the subsequence in the arraylength- the length of the subsequence
 
- 
setNull
public final void setNull(int absoluteIndex)
Description copied from interface:MutableTokenSequenceSets the token at the specified position to be null valued.- Specified by:
 setNullin interfaceMutableTokenSequence- Parameters:
 absoluteIndex- the position of the token in the array
 
- 
setNull
public final void setNull(int start, int length)Description copied from interface:MutableTokenSequenceSets the tokens in the specified subsequence to be null valued.- Specified by:
 setNullin interfaceMutableTokenSequence- Parameters:
 start- the starting index of the subsequence in the arraylength- the length of the subsequence
 
- 
getType
public ScalarTokenType getType()
Description copied from interface:ScalarTokenSequenceGets the data type of the tokens in the sequence.- Specified by:
 getTypein interfaceScalarTokenSequence- Specified by:
 getTypein interfaceScalarTyped- Specified by:
 getTypein interfaceTokenTyped- Returns:
 - the token data type
 
 
- 
isNull
public final boolean isNull(int absoluteIndex)
Description copied from interface:TokenSequenceIndicates whether the specified token has a null value.- Specified by:
 isNullin interfaceTokenSequence- Parameters:
 absoluteIndex- the index of the token- Returns:
 trueif the element is null,falseotherwise
 
- 
isZero
public final boolean isZero(int absoluteIndex)
Description copied from interface:ScalarTokenSequenceIndicates whether the specified token has a zero value.- Specified by:
 isZeroin interfaceScalarTokenSequence- Parameters:
 absoluteIndex- the index of the token- Returns:
 trueif the element is zero,falseotherwise
 
- 
compareElement
public final int compareElement(int absoluteIndex, TokenValued value)Description copied from interface:TokenSequenceCompares the value of the specified token to the token at which the given port is positioned.- Specified by:
 compareElementin interfaceTokenSequence- Parameters:
 absoluteIndex- the index of the tokenvalue- the input port positioned at the token for comparison- Returns:
 0if the values are equal,1if the sequence token value is greater,-1if the sequence token value is lesser. A null value is greater than any other non-null; two null values compare as equal.
 
- 
compareElements
public final int compareElements(int lhsAbsoluteIndex, int rhsAbsoluteIndex)Description copied from interface:TokenSequenceCompares the values of the tokens at the specified positions.- Specified by:
 compareElementsin interfaceTokenSequence- Parameters:
 lhsAbsoluteIndex- the index of the left-hand elementrhsAbsoluteIndex- the index of the right-hand element- Returns:
 0if the values are equal,1if the left hand value is greater,-1if the left hand value is lesser. A null value is greater than any other non-null; two null values compare as equal.
 
- 
getElementComparator
public final ElementComparator getElementComparator(TokenOrder sortOrder)
Description copied from interface:TokenSequenceGets anElementComparatorfor this sequence using the specified ordering.- Specified by:
 getElementComparatorin interfaceTokenSequence- Parameters:
 sortOrder- the desired ordering- Returns:
 - an 
ElementComparatorfor this sequence. 
 
- 
hashCode
public final int hashCode(int absoluteIndex)
Description copied from interface:TokenSequenceGets the hash code for the token at the specified position.- Specified by:
 hashCodein interfaceTokenSequence- Parameters:
 absoluteIndex- the index of the token- Returns:
 - the hash code for the token
 
 
- 
toString
public final String toString(int absoluteIndex)
Description copied from interface:TokenSequenceGets the string representation of the token at the specified position.- Specified by:
 toStringin interfaceTokenSequence- Parameters:
 absoluteIndex- the index of the token- Returns:
 - the string representation of the token
 
 
- 
appendNull
public final void appendNull()
Append a null value to this sequence.- Specified by:
 appendNullin interfaceMutableTokenSequence
 
- 
appendNull
public final void appendNull(int count)
Append a null value to this sequence.- Specified by:
 appendNullin interfaceMutableTokenSequence- Parameters:
 count- the number of null values to append
 
- 
appendZero
public final void appendZero()
Description copied from interface:MutableTokenSequenceAppends a zero value to this sequence.- Specified by:
 appendZeroin interfaceMutableTokenSequence
 
- 
appendZero
public void appendZero(int count)
Description copied from interface:MutableTokenSequenceAppends the specified number of zero values to this sequence.- Specified by:
 appendZeroin interfaceMutableTokenSequence- Parameters:
 count- the number of zero values to append
 
- 
reset
public final void reset()
Description copied from interface:MutableTokenSequenceRemoves all elements from the sequence.- Specified by:
 resetin interfaceMutableTokenSequence
 
- 
append
public final void append(TokenValued value)
Description copied from interface:TokenAppendableAppends the specified token value to this sequence.The data types of the sequence and the value must be compatible. If the types are not identical, appropriate coercion will be attempted.
- Specified by:
 appendin interfaceTokenAppendable- Parameters:
 value- the token value to append
 
- 
append
public final void append(TokenValued value, long count)
Description copied from interface:TokenAppendableAppends the specified token value to this sequence multiple times.The data types of the sequence and the value must be compatible. If the types are not identical, appropriate coercion will be attempted.
- Specified by:
 appendin interfaceTokenAppendable- Parameters:
 value- the token value to appendcount- the number of copies to append
 
- 
setValue
public final void setValue(int absoluteIndex, TokenValued value)Description copied from interface:MutableTokenSequenceSets the token at the specified position to the given value.- Specified by:
 setValuein interfaceMutableTokenSequence- Parameters:
 absoluteIndex- the position of the token in the arrayvalue- the value to which to set the token. This value must be of an appropriate type for the array.
 
- 
fillValue
public final void fillValue(int start, int length, TokenValued value)Description copied from interface:MutableTokenSequenceSets the tokens in the specified subsequence to the given value.- Specified by:
 fillValuein interfaceMutableTokenSequence- Parameters:
 start- the starting index of the subsequence in the arraylength- the length of the subsequencevalue- the value to which to set the tokens. This value must be of an appropriate type for the array
 
- 
setValues
public final void setValues(int start, TokenSequence values, int offset, int length)Description copied from interface:MutableTokenSequenceSets the tokens in the specified subsequence of the array to the corresponding values from a subsequence of the given source sequence.- Specified by:
 setValuesin interfaceMutableTokenSequence- Parameters:
 start- the starting index of the subsequence in the arrayvalues- the source sequence. This sequence must be of an appropriate type for the array.offset- the starting index in the source sequence. Corresponding values will be taken relative to this position. That is, the value of the token at positionoffsetinvalueswill be assigned to the token at positionstart, and so on.length- the number of tokens to copy
 
- 
append
public final void append(TokenSequence data)
Description copied from interface:TokenAppendableAppends all tokens in the specified sequence to this sequence.The data types of the sequences must be compatible. If not identical, appropriate coercion will be attempted.
- Specified by:
 appendin interfaceTokenAppendable- Parameters:
 data- the sequence to append
 
- 
append
public final void append(TokenSequence data, int start, int length)
Description copied from interface:TokenAppendableAppends a subsequence of tokens in the specified sequence to this sequence.The data types of the sequences must be compatible. If not identical, appropriate coercion will be attempted.
- Specified by:
 appendin interfaceTokenAppendable- Parameters:
 data- the sequence containing tokens to appendstart- the starting index of the subsequence in the sourcelength- the length of the subsequence
 
- 
ensureCanonical
public final void ensureCanonical()
Description copied from interface:MutableScalarTokenSequenceEnsures that the internal representation is in a canonical form such that it can be read safely by multiple threads.- Specified by:
 ensureCanonicalin interfaceMutableScalarTokenSequence
 
 - 
 
 -