Module org.hsqldb

Class DoubleLongIndex

  • All Implemented Interfaces:
    LongLookup

    public final class DoubleLongIndex
    extends java.lang.Object
    implements 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 Detail

      • DoubleLongIndex

        public DoubleLongIndex​(int capacity)
    • Method Detail

      • setLongValue

        public void setLongValue​(int i,
                                 long value)
        Modifies an existing pair.
        Specified by:
        setLongValue in interface LongLookup
        Parameters:
        i - the index
        value - the value
      • size

        public int size()
        Specified by:
        size in interface LongLookup
      • setSize

        public void setSize​(int newSize)
      • addUnsorted

        public boolean addUnsorted​(long key,
                                   long value)
        Specified by:
        addUnsorted in interface LongLookup
      • add

        public int add​(long key,
                       long value)
        Specified by:
        add in interface LongLookup
      • lookup

        public long lookup​(long key)
                    throws java.util.NoSuchElementException
        Specified by:
        lookup in interface LongLookup
        Throws:
        java.util.NoSuchElementException
      • lookup

        public long lookup​(long key,
                           long def)
        Specified by:
        lookup in interface LongLookup
      • clear

        public void clear()
        Specified by:
        clear in interface LongLookup
      • 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
      • sort

        public void sort()
        Specified by:
        sort in interface LongLookup