net.sf.saxon.sort
Class IntArraySet

java.lang.Object
  extended by net.sf.saxon.sort.IntArraySet
All Implemented Interfaces:
Serializable, IntSet

public class IntArraySet
extends Object
implements 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. It does implement the same interface as IntHashSet, although this is currently not defined as an explicit interface.

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.

Not thread safe.

Author:
Michael Kay
See Also:
Serialized Form

Constructor Summary
IntArraySet()
          Create an empty set
IntArraySet(IntArraySet input)
          Create one IntArraySet as a copy of another
IntArraySet(IntHashSet input)
          Create a set containing integers from the specified IntHashSet
 
Method Summary
 boolean add(int value)
          Add an integer to the set
 void 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 set
 boolean containsAll(IntSet other)
          Test if this set is a superset of another set
 boolean equals(Object other)
          Test whether this set has exactly the same members as another set
 int getFirst()
          Get the first value in the set.
 int[] getValues()
           
 int hashCode()
          Construct a hash key that supports the equals() test
 boolean isEmpty()
          Determine if the set is empty
 IntIterator iterator()
          Get an iterator over the values
static IntArraySet make(int[] in, int size)
           
 boolean remove(int value)
          Remove an integer from the set
 int size()
          Get the number of integers in the set
 String toString()
           
 IntArraySet union(IntArraySet other)
          Form a new set that is the union of this set with another set.
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IntArraySet

public IntArraySet()
Create an empty set


IntArraySet

public IntArraySet(IntHashSet input)
Create a set containing integers from the specified IntHashSet


IntArraySet

public IntArraySet(IntArraySet input)
Create one IntArraySet as a copy of another

Method Detail

clear

public void clear()
Description copied from interface: IntSet
Clear the contents of the IntSet (making it an empty set)

Specified by:
clear in interface IntSet

size

public int size()
Description copied from interface: IntSet
Get the number of integers in the set

Specified by:
size in interface IntSet
Returns:
the size of the set

isEmpty

public boolean isEmpty()
Description copied from interface: IntSet
Determine if the set is empty

Specified by:
isEmpty in interface IntSet
Returns:
true if the set is empty, false if not

getValues

public int[] getValues()

contains

public boolean contains(int value)
Description copied from interface: IntSet
Determine whether a particular integer is present in the set

Specified by:
contains in interface 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 interface: IntSet
Remove an integer from the set

Specified by:
remove in interface 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 interface IntSet
Parameters:
value - the integer to be added
Returns:
true if the integer was added, false if it was already present

getFirst

public int getFirst()
Get the first value in the set.

Throws:
ArrayIndexOutOfBoundsException - if the set is empty

iterator

public IntIterator iterator()
Get an iterator over the values

Specified by:
iterator in interface IntSet

union

public IntArraySet union(IntArraySet other)
Form a new set that is the union of this set with another set.


make

public static IntArraySet make(int[] in,
                               int size)

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

containsAll

public boolean containsAll(IntSet other)
Test if this set is a superset of another set

Specified by:
containsAll in interface IntSet


Copyright (C) Michael H. Kay. All rights reserved.