Class IntSet

java.lang.Object
it.unimi.di.prog2.h09.IntSet

public class IntSet 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 final List<Integer>
    The List containing this set elements.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Initializes this set to be empty.
    IntSet(IntSet other)
    A *copy constructor*.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Returns an element from this set.
    private int
    getIndex(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 java.lang.Object

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

    • els

      private final List<Integer> els
      The List containing this set elements.
  • Constructor Details

    • IntSet

      public IntSet()
      Initializes this set to be empty.

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

    • IntSet

      public IntSet(IntSet other)
      A *copy constructor*.
      Parameters:
      other - the IntSet to copy from.
  • Method Details

    • getIndex

      private int getIndex(int x)
      Looks for a given element in this set.
      Parameters:
      x - the element to look for.
      Returns:
      the index where x appears in els 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 EmptyException
      Returns an element from this set.
      Returns:
      an arbitrary element from this set.
      Throws:
      EmptyException - if this set is empty.