Class IntHashSet

  • All Implemented Interfaces:
    java.io.Serializable, IntSet

    public class IntHashSet
    extends AbstractIntSet
    implements IntSet, java.io.Serializable
    Set of int values. This class is modelled on the java.net.Set interface, but it does not implement this interface, because the set members are nint's rather than Objects.

    Not thread safe.

    Author:
    Dominique Devienne, Michael Kay: retrofitted to JDK 1.4, added iterator()
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int MAX_SIZE
      The maximum number of elements this container can contain.
      int ndv
      This set's NO-DATA-VALUE.
    • Constructor Summary

      Constructors 
      Constructor Description
      IntHashSet()
      Initializes a set with a capacity of 8 and a load factor of 0,25.
      IntHashSet​(int capacity)
      Initializes a set with the given capacity and a load factor of 0,25.
      IntHashSet​(int capacity, int noDataValue)
      Initializes a set with a load factor of 0,25.
    • Method Summary

      All Methods Static 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
      static boolean containsSome​(IntSet one, IntSet two)
      Test if one set has overlapping membership with another set
      IntSet copy()
      Create a copy of this IntSet that leaves the original unchanged.
      void diagnosticDump()
      Diagnostic output
      boolean equals​(java.lang.Object other)
      Test whether this set has exactly the same members as another set
      int[] getValues()  
      int hashCode()
      Construct a hash key that supports the equals() test
      boolean isEmpty()
      Determine if the set is empty
      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
      • Methods inherited from class java.lang.Object

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

      • MAX_SIZE

        public static final int MAX_SIZE
        The maximum number of elements this container can contain.
        See Also:
        Constant Field Values
      • ndv

        public final int ndv
        This set's NO-DATA-VALUE.
    • Constructor Detail

      • IntHashSet

        public IntHashSet()
        Initializes a set with a capacity of 8 and a load factor of 0,25.
      • IntHashSet

        public IntHashSet​(int capacity)
        Initializes a set with the given capacity and a load factor of 0,25.
        Parameters:
        capacity - the initial capacity.
      • IntHashSet

        public IntHashSet​(int capacity,
                          int noDataValue)
        Initializes a set with a load factor of 0,25.
        Parameters:
        capacity - the initial capacity.
        noDataValue - the value to use for non-values.
    • 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
      • 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
      • 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
      • getValues

        public int[] getValues()
      • 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)
        Description copied from interface: IntSet
        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
      • add

        public boolean add​(int value)
        Description copied from interface: IntSet
        Add an integer to the set
        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
      • 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
      • containsSome

        public static boolean containsSome​(IntSet one,
                                           IntSet two)
        Test if one set has overlapping membership with another set
      • equals

        public boolean equals​(java.lang.Object other)
        Test whether this set has exactly the same members as another set
        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
      • diagnosticDump

        public void diagnosticDump()
        Diagnostic output