Package net.sf.saxon.z
Class IntArraySet
- java.lang.Object
-
- net.sf.saxon.z.IntArraySet
-
- All Implemented Interfaces:
IntSet
public class IntArraySet extends java.lang.Object implements 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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
IntArraySet.IntArrayIterator
Iterator class: iterate over an array of integers
-
Field Summary
Fields Modifier and Type Field Description static int[]
EMPTY_INT_ARRAY
-
Constructor Summary
Constructors Constructor Description IntArraySet()
Create 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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
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 setIntSet
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 setint
getFirst()
Get the first value in the set.int[]
getValues()
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 emptyIntIterator
iterator()
Get an iterator over the valuesstatic IntArraySet
make(int[] in, int size)
Factory method to construct a set from an array of integersIntSet
mutableCopy()
Create 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 setjava.lang.String
toString()
IntSet
union(IntSet other)
Form a new set that is the union of this set with another set.-
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, isMutable
-
-
-
-
Constructor Detail
-
IntArraySet
public IntArraySet()
Create an empty set
-
IntArraySet
public IntArraySet(IntHashSet input)
Create a set containing integers from the specified IntHashSet- Parameters:
input
- the set to be copied
-
IntArraySet
public IntArraySet(IntArraySet input)
Create one IntArraySet as a copy of another- Parameters:
input
- the set to be copied
-
-
Method Detail
-
copy
public IntSet copy()
Description copied from interface:IntSet
Create a copy of this IntSet that leaves the original unchanged.
-
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 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:
java.lang.ArrayIndexOutOfBoundsException
- if the set is empty
-
iterator
public IntIterator iterator()
Get an iterator over the values
-
union
public IntSet union(IntSet other)
Form a new set that is the union of this set with another set.
-
make
public static IntArraySet 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 ordersize
- the number of elements in the array that are significant- Returns:
- the constructed set
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object other)
Test whether this set has exactly the same members as another set- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
Construct a hash key that supports the equals() test- Overrides:
hashCode
in classjava.lang.Object
-
-