Class IntBlockSet

  • All Implemented Interfaces:
    IntSet

    public class IntBlockSet
    extends java.lang.Object
    implements IntSet
    Set of int values. This immutable implementation of IntSet represents a dense monotonic range of integers from A to B.
    • Constructor Summary

      Constructors 
      Constructor Description
      IntBlockSet​(int startPoint, int endPoint)
      Create an IntRangeSet given the start point and end point of the integer range.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean add​(int value)
      Add an integer to the set.
      void clear()
      Clear the contents of the IntSet (making it an empty set)
      boolean contains​(int value)
      Determine whether a particular integer is present in the set
      IntSet copy()
      Create a copy of this IntSet that leaves the original unchanged.
      boolean equals​(java.lang.Object other)
      Test whether this set has exactly the same members as another set.
      int getEndPoint()
      Get the end point of the range
      int getStartPoint()
      Get the start point of the range
      int hashCode()
      Construct a hash key that supports the equals() test
      boolean isEmpty()
      Determine if the set is empty
      boolean isMutable()
      Ask whether the set permits in-situ modifications using add() and remove()
      IntIterator iterator()
      Get an iterator over the values
      IntSet mutableCopy()
      Create a copy of this IntSet that contains the same set of integers.
      boolean remove​(int value)
      Remove an integer from the set
      int size()
      Get the number of integers in the set
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • IntBlockSet

        public IntBlockSet​(int startPoint,
                           int endPoint)
        Create an IntRangeSet given the start point and end point of the integer range.
        Parameters:
        startPoint - the start point of the integer range
        endPoint - the end point of the integer range
        Throws:
        java.lang.IllegalArgumentException - if the two arrays are different lengths. Other error conditions in the input are not currently detected.
    • Method Detail

      • copy

        public IntSet copy()
        Description copied from interface: IntSet
        Create a copy of this IntSet that leaves the original unchanged.
        Specified by:
        copy in interface IntSet
        Returns:
        an IntSet containing the same integers. The result will not necessarily be the same class as the original. It will either be an immutable object, or a newly constructed object.
      • mutableCopy

        public IntSet mutableCopy()
        Description copied from interface: IntSet
        Create a copy of this IntSet that contains the same set of integers.
        Specified by:
        mutableCopy in interface IntSet
        Returns:
        an IntSet containing the same integers. The result will not necessarily be the same class as the original. It will always be a mutable object
      • isMutable

        public boolean isMutable()
        Description copied from interface: IntSet
        Ask whether the set permits in-situ modifications using add() and remove()
        Specified by:
        isMutable in interface IntSet
      • size

        public int size()
        Description copied from interface: IntSet
        Get the number of integers in the set
        Specified by:
        size in interface IntSet
        Returns:
        the size of the set
      • isEmpty

        public boolean isEmpty()
        Description copied from interface: IntSet
        Determine if the set is empty
        Specified by:
        isEmpty in interface IntSet
        Returns:
        true if the set is empty, false if not
      • contains

        public boolean contains​(int value)
        Description copied from interface: IntSet
        Determine whether a particular integer is present in the set
        Specified by:
        contains in interface IntSet
        Parameters:
        value - the integer under test
        Returns:
        true if value is present in the set, false if not
      • remove

        public boolean remove​(int value)
        Remove an integer from the set
        Specified by:
        remove in interface IntSet
        Parameters:
        value - the integer to be removed
        Returns:
        true if the integer was present in the set, false if it was not present
        Throws:
        java.lang.UnsupportedOperationException - (always)
      • clear

        public void clear()
        Description copied from interface: IntSet
        Clear the contents of the IntSet (making it an empty set)
        Specified by:
        clear in interface IntSet
      • add

        public boolean add​(int value)
        Add an integer to the set. Always throws UnsupportedOperationException
        Specified by:
        add in interface IntSet
        Parameters:
        value - the integer to be added
        Returns:
        true if the integer was added, false if it was already present
        Throws:
        java.lang.UnsupportedOperationException - (always)
      • iterator

        public IntIterator iterator()
        Get an iterator over the values
        Specified by:
        iterator in interface IntSet
        Returns:
        an iterator over the integers in the set
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object other)
        Test whether this set has exactly the same members as another set. Note that IntBlockSet values are NOT comparable with other implementations of IntSet
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Construct a hash key that supports the equals() test
        Overrides:
        hashCode in class java.lang.Object
      • getStartPoint

        public int getStartPoint()
        Get the start point of the range
      • getEndPoint

        public int getEndPoint()
        Get the end point of the range