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 classIntArraySet.IntArrayIteratorIterator 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 booleanadd(int value)Add an integer to the setvoidclear()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 setintgetFirst()Get the first value in the set.int[]getValues()Get the set of integer values as an arrayinthashCode()Construct a hash key that supports the equals() testbooleanisEmpty()Determine if the set is emptyIntIteratoriterator()Get an iterator over the valuesstatic IntArraySetmake(int[] in, int size)Factory method to construct a set from an array of integersIntSetmutableCopy()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()IntSetunion(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: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
-
clear
public void clear()
Description copied from interface:IntSetClear the contents of the IntSet (making it an empty set)
-
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
-
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: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
-
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:
toStringin classjava.lang.Object
-
equals
public boolean equals(java.lang.Object other)
Test whether this set has exactly the same members as another set- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
Construct a hash key that supports the equals() test- Overrides:
hashCodein classjava.lang.Object
-
-