java.lang.Object
org.hsqldb.lib.DoubleLongIndex
- All Implemented Interfaces:
LongLookup
Maintains an ordered
long->long
lookup 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 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 -
Method Summary
Modifier and TypeMethodDescriptionint
add
(long key, long value) boolean
addUnsorted
(long key, long value) boolean
addUnsorted
(LongLookup other) void
clear()
boolean
void
copyTo
(DoubleLongIndex other) int
findFirstEqualKeyIndex
(long value) int
findFirstGreaterEqualKeyIndex
(long value) 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.long
getLongKey
(int i) long
getLongValue
(int i) long
long
lookup
(long key) long
lookup
(long key, long def) void
setLongValue
(int i, long value) Modifies an existing pair.void
setSize
(int newSize) int
size()
void
sort()
-
Constructor Details
-
DoubleLongIndex
public DoubleLongIndex(int capacity)
-
-
Method Details
-
getLongKey
public long getLongKey(int i) - Specified by:
getLongKey
in interfaceLongLookup
-
getLongValue
public long getLongValue(int i) - Specified by:
getLongValue
in interfaceLongLookup
-
setLongValue
public void setLongValue(int i, long value) Modifies an existing pair.- Specified by:
setLongValue
in interfaceLongLookup
- Parameters:
i
- the indexvalue
- the value
-
size
public int size()- Specified by:
size
in interfaceLongLookup
-
getTotalValues
public long getTotalValues()- Specified by:
getTotalValues
in interfaceLongLookup
-
setSize
public void setSize(int newSize) -
addUnsorted
public boolean addUnsorted(long key, long value) - Specified by:
addUnsorted
in interfaceLongLookup
-
add
public int add(long key, long value) - Specified by:
add
in interfaceLongLookup
-
lookup
- Specified by:
lookup
in interfaceLongLookup
- Throws:
NoSuchElementException
-
lookup
public long lookup(long key, long def) - Specified by:
lookup
in interfaceLongLookup
-
clear
public void clear()- Specified by:
clear
in interfaceLongLookup
-
duplicate
- Specified by:
duplicate
in 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:
compactLookupAsIntervals
in interfaceLongLookup
-
sort
public void sort()- Specified by:
sort
in interfaceLongLookup
-
copyTo
-
addUnsorted
- Specified by:
addUnsorted
in interfaceLongLookup
-