- java.lang.Object
-
- org.hsqldb.lib.DoubleLongIndex
-
- All Implemented Interfaces:
LongLookup
public final class DoubleLongIndex extends java.lang.Object implements LongLookup
Maintains an orderedlong->longlookup table, consisting of two columns, one for keys, the other for values. Equal keys are allowed.The table is sorted on key column.
findXXX() methods return the array index into the list pair containing a matching key or value, or -1 if not found.
Based on org.hsqldb.lib.DoubleIntIndex
- Since:
- 1.8.0
- Author:
- Fred Toussi (fredt@users dot sourceforge.net)
-
-
Constructor Summary
Constructors Constructor Description DoubleLongIndex(int capacity)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intadd(long key, long value)booleanaddUnsorted(long key, long value)booleanaddUnsorted(LongLookup other)voidclear()booleancompactLookupAsIntervals()voidcopyTo(DoubleLongIndex other)LongLookupduplicate()intfindFirstEqualKeyIndex(long value)intfindFirstGreaterEqualKeyIndex(long value)intfindFirstGreaterEqualSlotIndex(long value)This method is similar to findFirstGreaterEqualKeyIndex(int) but returns the index of the empty row past the end of the array if the search value is larger than all the values / keys in the searched column.longgetLongKey(int i)longgetLongValue(int i)longgetTotalValues()longlookup(long key)longlookup(long key, long def)voidsetLongValue(int i, long value)Modifies an existing pair.voidsetSize(int newSize)intsize()voidsort()
-
-
-
Method Detail
-
getLongKey
public long getLongKey(int i)
- Specified by:
getLongKeyin interfaceLongLookup
-
getLongValue
public long getLongValue(int i)
- Specified by:
getLongValuein interfaceLongLookup
-
setLongValue
public void setLongValue(int i, long value)Modifies an existing pair.- Specified by:
setLongValuein interfaceLongLookup- Parameters:
i- the indexvalue- the value
-
size
public int size()
- Specified by:
sizein interfaceLongLookup
-
getTotalValues
public long getTotalValues()
- Specified by:
getTotalValuesin interfaceLongLookup
-
setSize
public void setSize(int newSize)
-
addUnsorted
public boolean addUnsorted(long key, long value)- Specified by:
addUnsortedin interfaceLongLookup
-
add
public int add(long key, long value)- Specified by:
addin interfaceLongLookup
-
lookup
public long lookup(long key) throws java.util.NoSuchElementException- Specified by:
lookupin interfaceLongLookup- Throws:
java.util.NoSuchElementException
-
lookup
public long lookup(long key, long def)- Specified by:
lookupin interfaceLongLookup
-
clear
public void clear()
- Specified by:
clearin interfaceLongLookup
-
duplicate
public LongLookup duplicate()
- Specified by:
duplicatein interfaceLongLookup
-
findFirstGreaterEqualKeyIndex
public int findFirstGreaterEqualKeyIndex(long value)
- Parameters:
value- the value- Returns:
- the index
-
findFirstEqualKeyIndex
public int findFirstEqualKeyIndex(long value)
- Parameters:
value- the value- Returns:
- the index
-
findFirstGreaterEqualSlotIndex
public int findFirstGreaterEqualSlotIndex(long value)
This method is similar to findFirstGreaterEqualKeyIndex(int) but returns the index of the empty row past the end of the array if the search value is larger than all the values / keys in the searched column.- Parameters:
value- the value- Returns:
- the index
-
compactLookupAsIntervals
public boolean compactLookupAsIntervals()
- Specified by:
compactLookupAsIntervalsin interfaceLongLookup
-
sort
public void sort()
- Specified by:
sortin interfaceLongLookup
-
copyTo
public void copyTo(DoubleLongIndex other)
-
addUnsorted
public boolean addUnsorted(LongLookup other)
- Specified by:
addUnsortedin interfaceLongLookup
-
-