Class RedBlackLongKeySet

  • All Implemented Interfaces:
    java.io.Serializable

    public class RedBlackLongKeySet
    extends java.lang.Object
    implements java.io.Serializable
    A RedBlack Tree implementation of a long key set.
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int NODESIZE
      the number of bytes in a RedBlackLongKeySet node
    • Constructor Summary

      Constructors 
      Constructor Description
      RedBlackLongKeySet()
      Creates a new RedBlackLongKeySet that can store keys between 0 and n.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean containsKey​(long key)
      Returns true if the key is in the set.
      long getFirst()
      Returns the first key in this set.
      long getLast()
      Returns the last key in this set.
      long getNext​(long key)
      Returns the smallest key in the set that is greater than the given key.
      long getPrevious​(long key)
      Returns the largest key in the set that is less than the given key.
      boolean isEmpty()
      Test if the set is empty.
      void put​(long key)
      Adds the given key to the set.
      boolean remove​(long key)
      Removes the given key from the set.
      void removeAll()
      Removes all keys from the set.
      int size()
      Returns the number keys in this set.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • NODESIZE

        public static final int NODESIZE
        the number of bytes in a RedBlackLongKeySet node
        See Also:
        Constant Field Values
    • Constructor Detail

      • RedBlackLongKeySet

        public RedBlackLongKeySet()
        Creates a new RedBlackLongKeySet that can store keys between 0 and n.
    • Method Detail

      • size

        public int size()
        Returns the number keys in this set.
      • containsKey

        public boolean containsKey​(long key)
        Returns true if the key is in the set.
        Parameters:
        key - the key whose presence is to be tested.
        Throws:
        java.lang.IndexOutOfBoundsException - thrown if the given key is not in the range [0, maxKey].
      • getFirst

        public long getFirst()
        Returns the first key in this set.
      • getLast

        public long getLast()
        Returns the last key in this set.
      • getNext

        public long getNext​(long key)
        Returns the smallest key in the set that is greater than the given key. Returns -1 if there are no keys greater than the given key.
        Parameters:
        key - the key for which to find the next key after.
        Throws:
        java.lang.IndexOutOfBoundsException - thrown if the given key is not in the range [0, maxKey].
      • getPrevious

        public long getPrevious​(long key)
        Returns the largest key in the set that is less than the given key. Returns -1 if there are not keys less than the given key.
        Parameters:
        key - the key for which to find the previous key.
        Throws:
        java.lang.IndexOutOfBoundsException - thrown if the given key is not in the range [0, maxKey].
      • put

        public void put​(long key)
        Adds the given key to the set.
        Parameters:
        key - the key to add to the set.
        Throws:
        java.lang.IndexOutOfBoundsException - thrown if the given key is not in the range [0, maxKey].
      • remove

        public boolean remove​(long key)
        Removes the given key from the set.
        Parameters:
        key - the key to remove from the set.
        Throws:
        java.lang.IndexOutOfBoundsException - thrown if the given key is not in the range [0, maxKey].
      • removeAll

        public void removeAll()
        Removes all keys from the set.
      • isEmpty

        public boolean isEmpty()
        Test if the set is empty.
        Returns:
        true if the set is empty.