Class ArrayIntSet

java.lang.Object
it.unimi.di.prog2.h08.ArrayIntSet

public class ArrayIntSet extends Object
IntSets are mutable, unbounded sets of integers.

A typical IntSet is \( S = \{x_1, \ldots, x_n \} \).

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private int[]
    The List containing this set elements.
    private final int
    The initial capacity of the internal array.
    private int
    The number of elements in this set.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Initializes this set to be empty.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Returns an element from this set.
    private int
    indexOf(int x)
    Looks for a given element in this set.
    void
    insert(int x)
    Adds the given element to this set.
    boolean
    isIn(int x)
    Tells if the given element is in this set.
    void
    remove(int x)
    Removes the given element from this set.
    int
    Returns the cardinality of this set.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • INITIAL_CAPACITY

      private final int INITIAL_CAPACITY
      The initial capacity of the internal array.
      See Also:
    • els

      private int[] els
      The List containing this set elements.
    • size

      private int size
      The number of elements in this set.
  • Constructor Details

    • ArrayIntSet

      public ArrayIntSet()
      Initializes this set to be empty.

      Builds the set \( S = \varnothing \).

  • Method Details

    • indexOf

      private int indexOf(int x)
      Looks for a given element in this set.
      Parameters:
      x - the element to look for.
      Returns:
      an index i such that els[i] == x if the element belongs to this set, or -1
    • insert

      public void insert(int x)
      Adds the given element to this set.

      This method modifies the object, that is: \( S' = S \cup \{ x \} \).

      Parameters:
      x - the element to be added.
    • remove

      public void remove(int x)
      Removes the given element from this set.

      This method modifies the object, that is: \( S' = S \setminus \{ x \} \).

      Parameters:
      x - the element to be removed.
    • isIn

      public boolean isIn(int x)
      Tells if the given element is in this set.

      Answers the question \( x\in S \).

      Parameters:
      x - the element to look for.
      Returns:
      whether the given element belongs to this set, or not.
    • size

      public int size()
      Returns the cardinality of this set.

      Responds with \( |S| \).

      Returns:
      the size of this set.
    • choose

      public int choose() throws IllegalStateException
      Returns an element from this set.
      Returns:
      an arbitrary element from this set.
      Throws:
      IllegalStateException - if this set is empty.