Package cpsc331.collections
Interface Set<E>
-
- All Known Subinterfaces:
OrderedSet<E>
- All Known Implementing Classes:
ChainHashSet
,OpenHashSet
public interface Set<E>
Provides an interface for a set whose elements have type E.
Set Invariant: A finite set of non-null elements of type E is maintained.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
contains(E e)
Reports whether a given element belongs to this set.void
include(E e)
Adds an input element to this set, throwing an ElementFoundException if this element already belongs to it.void
remove(E e)
Removes an input element to this set, throwing a NoSuchElementException if this element does not belong to it.
-
-
-
Method Detail
-
contains
boolean contains(E e) throws java.lang.NullPointerException
Reports whether a given element belongs to this set.- Parameters:
e
- the element to be searched for- Returns:
- true if this element is found; false otherwise
Precondition:
- The Set Invariant is satisfied.
- A value e with type E has been given as input.
- The Set Invariant is satisfied.
- This set has not been changed.
- If the given element e is null then a NullPointerException is thrown.
- Otherwise (that is, if the given element is not null), if the given element e belongs to this set then “true” is returned; “false” is returned otherwise.
- Throws:
java.lang.NullPointerException
- if the given element is null
-
include
void include(E e) throws java.lang.NullPointerException, ElementFoundException
Adds an input element to this set, throwing an ElementFoundException if this element already belongs to it.- Parameters:
e
- the element to be added to this set- Throws:
java.lang.NullPointerException
- if the given element is nullElementFoundException
- if this element is not null but is already in the set
Precondition:
- The Set Invariant is satisfied.
- A value e with type E has been given as input.
- The Set Invariant is satisfied.
- If the input element is null then a NullPointerException is thrown.
- Otherwise (that is, if the input element is not null), if the input element e was not already included in this set then e has been added to it, and no other changes have been made. An ElementFoundException is thrown, otherwise, and this set has not been changed.
-
remove
void remove(E e) throws java.lang.NullPointerException, java.util.NoSuchElementException
Removes an input element to this set, throwing a NoSuchElementException if this element does not belong to it.- Parameters:
e
- the element to be removed from this set- Throws:
java.lang.NullPointerException
- if the given element is nulljava.util.NoSuchElementException
- if this element was not in this set
Precondition:
- The Set Invariant is satisfied.
- A value e with type E has been given as input.
- The Set Invariant is satisfied.
- If the input element is null then a NullPointerException is thrown.
- Otherwise (that is, if the given element is null), if the input element e was already included in this set then this element is removed from it. A NoSuchElementException is thrown otherwise, and this set is not changed.
-
-