Package net.sf.saxon.expr.sort
Class IntArraySet
java.lang.Object
net.sf.saxon.expr.sort.AbstractIntSet
net.sf.saxon.expr.sort.IntArraySet
- All Implemented Interfaces:
Serializable
,IntSet
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 int's rather than Objects.
This implementation of a set of integers is optimized to use very little storage
and to provide fast comparison of two sets. The equals() method determines whether
two sets contain the same integers.
This implementation is not efficient at adding new integers to the set. It creates a new
array each time you do that.
Not thread safe.
- Author:
- Michael Kay
- See Also:
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCreate an empty setIntArraySet
(IntArraySet input) Create one IntArraySet as a copy of anotherIntArraySet
(IntHashSet input) Create a set containing integers from the specified IntHashSet -
Method Summary
Modifier and TypeMethodDescriptionboolean
add
(int value) Add an integer to the setvoid
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 setcopy()
Create a copy of this IntSet that leaves the original unchanged.boolean
Test whether this set has exactly the same members as another setint
getFirst()
Get the first value in the set.int[]
Get the set of integer values as an arrayint
hashCode()
Construct a hash key that supports the equals() testboolean
isEmpty()
Determine if the set is emptyiterator()
Get an iterator over the valuesstatic IntArraySet
make
(int[] in, int size) Factory method to construct a set from an array of integersCreate a copy of this IntSet that contains the same set of integers.boolean
remove
(int value) Remove an integer from the setint
size()
Get the number of integers in the settoString()
Form a new set that is the union of this set with another set.Methods inherited from class net.sf.saxon.expr.sort.AbstractIntSet
containsAll, except, intersect
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface net.sf.saxon.expr.sort.IntSet
containsAll, except, intersect
-
Field Details
-
EMPTY_INT_ARRAY
public static final int[] EMPTY_INT_ARRAY
-
-
Constructor Details
-
IntArraySet
public IntArraySet()Create an empty set -
IntArraySet
Create a set containing integers from the specified IntHashSet- Parameters:
input
- the set to be copied
-
IntArraySet
Create one IntArraySet as a copy of another- Parameters:
input
- the set to be copied
-
-
Method Details
-
copy
Description copied from interface:IntSet
Create a copy of this IntSet that leaves the original unchanged. -
mutableCopy
Description copied from interface:IntSet
Create a copy of this IntSet that contains the same set of integers.- Specified by:
mutableCopy
in 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
-
clear
public void clear()Description copied from interface:IntSet
Clear the contents of the IntSet (making it an empty set) -
size
public int size()Description copied from interface:IntSet
Get the number of integers in the set -
isEmpty
public boolean isEmpty()Description copied from interface:IntSet
Determine if the set is empty -
getValues
public int[] getValues()Get the set of integer values as an array- Returns:
- a sorted array of integers
-
contains
public boolean contains(int value) Description copied from interface:IntSet
Determine whether a particular integer is present in the set -
remove
public boolean remove(int value) Description copied from interface:IntSet
Remove an integer from the set -
add
public boolean add(int value) Add an integer to the set -
getFirst
public int getFirst()Get the first value in the set.- Returns:
- the first value in the set, in sorted order
- Throws:
ArrayIndexOutOfBoundsException
- if the set is empty
-
iterator
Get an iterator over the values -
union
Form a new set that is the union of this set with another set.- Specified by:
union
in interfaceIntSet
- Overrides:
union
in classAbstractIntSet
- Parameters:
other
- the other set- Returns:
- the union of the two sets
-
make
Factory method to construct a set from an array of integers- Parameters:
in
- the array of integers, which must be in ascending ordersize
- the number of elements in the array that are significant- Returns:
- the constructed set
-
toString
-
equals
Test whether this set has exactly the same members as another set -
hashCode
public int hashCode()Construct a hash key that supports the equals() test
-