Class TByteIntHash

  • All Implemented Interfaces:
    java.io.Externalizable, java.io.Serializable
    Direct Known Subclasses:
    TByteIntHashMap

    public abstract class TByteIntHash
    extends TPrimitiveHash
    An open addressed hashing implementation for byte/int primitive entries. Created: Sun Nov 4 08:56:06 2001
    See Also:
    Serialized Form
    • Field Detail

      • _set

        public transient byte[] _set
        the set of bytes
      • no_entry_key

        protected byte no_entry_key
        key that represents null NOTE: should not be modified after the Hash is created, but is not final because of Externalization
      • no_entry_value

        protected int no_entry_value
        value that represents null NOTE: should not be modified after the Hash is created, but is not final because of Externalization
      • consumeFreeSlot

        protected boolean consumeFreeSlot
    • Constructor Detail

      • TByteIntHash

        public TByteIntHash()
        Creates a new T#E#Hash instance with the default capacity and load factor.
      • TByteIntHash

        public TByteIntHash​(int initialCapacity)
        Creates a new T#E#Hash instance whose capacity is the next highest prime above initialCapacity + 1 unless that value is already prime.
        Parameters:
        initialCapacity - an int value
      • TByteIntHash

        public TByteIntHash​(int initialCapacity,
                            float loadFactor)
        Creates a new TByteIntHash instance with a prime value at or near the specified capacity and load factor.
        Parameters:
        initialCapacity - used to find a prime capacity for the table.
        loadFactor - used to calculate the threshold over which rehashing takes place.
      • TByteIntHash

        public TByteIntHash​(int initialCapacity,
                            float loadFactor,
                            byte no_entry_key,
                            int no_entry_value)
        Creates a new TByteIntHash instance with a prime value at or near the specified capacity and load factor.
        Parameters:
        initialCapacity - used to find a prime capacity for the table.
        loadFactor - used to calculate the threshold over which rehashing takes place.
        no_entry_value - value that represents null
    • Method Detail

      • getNoEntryKey

        public byte getNoEntryKey()
        Returns the value that is used to represent null as a key. The default value is generally zero, but can be changed during construction of the collection.
        Returns:
        the value that represents null
      • getNoEntryValue

        public int getNoEntryValue()
        Returns the value that is used to represent null. The default value is generally zero, but can be changed during construction of the collection.
        Returns:
        the value that represents null
      • setUp

        protected int setUp​(int initialCapacity)
        initializes the hashtable to a prime capacity which is at least initialCapacity + 1.
        Overrides:
        setUp in class TPrimitiveHash
        Parameters:
        initialCapacity - an int value
        Returns:
        the actual capacity chosen
      • contains

        public boolean contains​(byte val)
        Searches the set for val
        Parameters:
        val - an byte value
        Returns:
        a boolean value
      • forEach

        public boolean forEach​(TByteProcedure procedure)
        Executes procedure for each key in the map.
        Parameters:
        procedure - a TByteProcedure value
        Returns:
        false if the loop over the set terminated because the procedure returned false for some value.
      • removeAt

        protected void removeAt​(int index)
        Releases the element currently stored at index.
        Overrides:
        removeAt in class TPrimitiveHash
        Parameters:
        index - an int value
      • index

        protected int index​(byte key)
        Locates the index of val.
        Parameters:
        key - an byte value
        Returns:
        the index of val or -1 if it isn't in the set.
      • insertKey

        protected int insertKey​(byte val)
        Locates the index at which val can be inserted. if there is already a value equal()ing val in the set, returns that value as a negative integer.
        Parameters:
        val - an byte value
        Returns:
        an int value
      • XinsertKey

        protected int XinsertKey​(byte key)
      • writeExternal

        public void writeExternal​(java.io.ObjectOutput out)
                           throws java.io.IOException
        Specified by:
        writeExternal in interface java.io.Externalizable
        Overrides:
        writeExternal in class THash
        Throws:
        java.io.IOException
      • readExternal

        public void readExternal​(java.io.ObjectInput in)
                          throws java.io.IOException,
                                 java.lang.ClassNotFoundException
        Specified by:
        readExternal in interface java.io.Externalizable
        Overrides:
        readExternal in class THash
        Throws:
        java.io.IOException
        java.lang.ClassNotFoundException