Package net.sf.saxon.z
Class IntRangeSet
- java.lang.Object
-
- net.sf.saxon.z.IntRangeSet
-
-
Constructor Summary
Constructors Constructor Description IntRangeSet()Create an empty setIntRangeSet(int[] startPoints, int[] endPoints)Create an IntRangeSet given the start points and end points of the integer ranges.IntRangeSet(IntRangeSet input)Create one IntRangeSet as a copy of another
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanadd(int value)Add an integer to the setvoidaddRange(int low, int high)Add a range of integers to the set.voidclear()Clear the contents of the IntSet (making it an empty set)booleancontains(int value)Determine whether a particular integer is present in the setIntSetcopy()Create a copy of this IntSet that leaves the original unchanged.booleanequals(java.lang.Object other)Test whether this set has exactly the same members as another set.int[]getEndPoints()Get the end points of the rangesintgetNumberOfRanges()Get the number of ranges actually in useint[]getStartPoints()Get the start points of the rangesinthashCode()Construct a hash key that supports the equals() testbooleanisEmpty()Determine if the set is emptybooleanisMutable()Ask whether the set permits in-situ modifications using add() and remove()IntIteratoriterator()Get an iterator over the valuesIntSetmutableCopy()Create a copy of this IntSet that contains the same set of integers.booleanremove(int value)Remove an integer from the setintsize()Get the number of integers in the setjava.lang.StringtoString()-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.sf.saxon.z.IntSet
containsAll, except, intersect, union
-
-
-
-
Constructor Detail
-
IntRangeSet
public IntRangeSet()
Create an empty set
-
IntRangeSet
public IntRangeSet(IntRangeSet input)
Create one IntRangeSet as a copy of another- Parameters:
input- the IntRangeSet to be copied
-
IntRangeSet
public IntRangeSet(int[] startPoints, int[] endPoints)Create an IntRangeSet given the start points and end points of the integer ranges. The two arrays must be the same length; each must be in ascending order; and the n'th end point must be greater than the n'th start point, and less than the n+1'th start point, for all n.- Parameters:
startPoints- the start points of the integer rangesendPoints- the end points of the integer ranges- Throws:
java.lang.IllegalArgumentException- if the two arrays are different lengths. Other error conditions in the input are not currently detected.
-
-
Method Detail
-
clear
public void clear()
Description copied from interface:IntSetClear the contents of the IntSet (making it an empty set)
-
copy
public IntSet copy()
Description copied from interface:IntSetCreate a copy of this IntSet that leaves the original unchanged.
-
mutableCopy
public IntSet mutableCopy()
Description copied from interface:IntSetCreate a copy of this IntSet that contains the same set of integers.- Specified by:
mutableCopyin interfaceIntSet- 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:IntSetAsk whether the set permits in-situ modifications using add() and remove()
-
size
public int size()
Description copied from interface:IntSetGet the number of integers in the set
-
isEmpty
public boolean isEmpty()
Description copied from interface:IntSetDetermine if the set is empty
-
contains
public boolean contains(int value)
Description copied from interface:IntSetDetermine whether a particular integer is present in the set
-
remove
public boolean remove(int value)
Description copied from interface:IntSetRemove an integer from the set
-
add
public boolean add(int value)
Add an integer to the set
-
iterator
public IntIterator iterator()
Get an iterator over the values
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
equals
public boolean equals(java.lang.Object other)
Test whether this set has exactly the same members as another set. Note that IntRangeSet values are NOT comparable with other implementations of IntSet- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
Construct a hash key that supports the equals() test- Overrides:
hashCodein classjava.lang.Object
-
addRange
public void addRange(int low, int high)Add a range of integers to the set. This is optimized for the case where these are all greater than any existing integer in the set.- Parameters:
low- the low end of the new rangehigh- the high end of the new range
-
getStartPoints
public int[] getStartPoints()
Get the start points of the ranges
-
getEndPoints
public int[] getEndPoints()
Get the end points of the ranges
-
getNumberOfRanges
public int getNumberOfRanges()
Get the number of ranges actually in use
-
-