## net.sf.saxon.expr.sort
Class IntArraySet

    java.lang.Object
      net.sf.saxon.expr.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.

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:
  Serialized Form

Field Summary
`static int[]` `EMPTY_INT_ARRAY`

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()` Get the set of integer values as an array
`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)` Factory method to construct a set from an array of integers
`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
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### EMPTY_INT_ARRAY

    public static final int[] EMPTY_INT_ARRAY

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

### 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()

  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

  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.

  Returns:
    the first value in the set, in sorted order
  Throws:
    `ArrayIndexOutOfBoundsException` - if the set is empty

### iterator

    public IntIterator iterator()

  Get an iterator over the values

  Specified by:
    `iterator` in interface `IntSet`
  Returns:
    an iterator over the values, which will be delivered in sorted order

### union

    public IntArraySet union(IntArraySet other)

  Form a new set that is the union of this set with another set.

  Parameters:
    `other` - the other set
  Returns:
    the union of the two sets

### 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 order
    `size` - the number of elements in the array that are significant
  Returns:
    the constructed set

### 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) 2004-2010 Saxonica Limited. All rights reserved.