Class MonotonicIntSet

java.lang.Object
net.sf.saxon.z.IntSet
net.sf.saxon.z.MonotonicIntSet

public class MonotonicIntSet extends IntSet
Set of int values. This implementation requires that new entries are added in monotonically increasing order; any attempt to add a value out of sequence, or to remove a value, results is an UnsupportedOperationException
  • Constructor Summary

    Constructors
    Constructor
    Description
    Create an empty set
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    add(int value)
    Add an integer to the set
    void
    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
    Create a copy of this IntSet that leaves the original unchanged.
    boolean
    equals(Object other)
    Test whether this set has exactly the same members as another set
    int
    Construct a hash key that supports the equals() test
    boolean
    Determine if the set is empty
    boolean
    Ask whether the set permits in-situ modifications using add() and remove()
    Get an iterator over the values
    make(int[] in, int size)
    Factory method to construct a set from an array of integers
    Create a copy of this IntSet that contains the same set of integers.
    boolean
    remove(int value)
    Remove an integer from the set
    int
    Get the number of integers in the set
     
    union(IntSet other)
    Form a new set that is the union of this set with another set.

    Methods inherited from class net.sf.saxon.z.IntSet

    containsAll, except, intersect

    Methods inherited from class java.lang.Object

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

    • MonotonicIntSet

      public MonotonicIntSet()
      Create an empty set
  • Method Details

    • copy

      public IntSet copy()
      Description copied from class: IntSet
      Create a copy of this IntSet that leaves the original unchanged.
      Specified by:
      copy in class 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 class: IntSet
      Create a copy of this IntSet that contains the same set of integers.
      Specified by:
      mutableCopy in class 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 class: IntSet
      Ask whether the set permits in-situ modifications using add() and remove()
      Overrides:
      isMutable in class IntSet
      Returns:
      true if the set permits in-situ modifications
    • clear

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

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

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

      public boolean contains(int value)
      Description copied from class: IntSet
      Determine whether a particular integer is present in the set
      Specified by:
      contains in class 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 class: IntSet
      Remove an integer from the set
      Specified by:
      remove in class 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)
      Add an integer to the set
      Specified by:
      add in class IntSet
      Parameters:
      value - the integer to be added (which must be greater than or equal to the largest integer currently in the set)
      Returns:
      true if the integer was added, false if it was already present
      Throws:
      UnsupportedOperationException - if the set already contains an integer larger than the supplied value
    • iterator

      public IntIterator iterator()
      Get an iterator over the values
      Specified by:
      iterator in class IntSet
      Returns:
      an iterator over the values, which will be delivered in sorted order
    • union

      public IntSet union(IntSet other)
      Form a new set that is the union of this set with another set.
      Overrides:
      union in class IntSet
      Parameters:
      other - the other set
      Returns:
      the union of the two sets
    • make

      public static MonotonicIntSet make(int[] in, int size)
      Factory method to construct a set from an array of integers
      Parameters:
      in - the array of integers, which must be in ascending order
      size - the number of elements in the array that are significant
      Returns:
      the constructed set
    • toString

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

      public boolean equals(Object other)
      Test whether this set has exactly the same members as another set
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Construct a hash key that supports the equals() test
      Overrides:
      hashCode in class Object