In the Java standard class library, the Set
interface defines the operations on an object that represents a set of elements. The Set
interface is based on the idea of a mathematical set. A set is a collection that has no duplicate elements.
-
A Set
must not have two elements that are equal as specified by an object’s equals
method. For example {7, 11, 13}
is a set but {7, 11, 11}
is not.
-
The Set
interface allows the following operations:
- insert an element into the set
- remove an element from the set
- test if a given element is in the set
- iterate over the elements of the set using Iterator
-
Figure 28.1 below lists the methods of the Set
interface that are a part of the AP subset.
// Adds the specified element to this set if it is
// not already present and returns true. If this set
// already contains the specified element, the call
// leaves this set unchanged and returns false.
boolean add(Object obj);
// Returns true if the set contains the specified
// element, false otherwise.
boolean contains(Object obj);
// Removes the specified element from this set if it
// is present and returns true. Returns false if the
// element was not in the set.
boolean remove(Object obj);
// Returns the number of elements in this set.
int size();
// Returns an iterator over the elements in the set.
Iterator iterator()
Figure 28.1 - Methods of the Set
interface included in the AP Subset
-
Because a set may not have duplicates, the elements of a Set
should be immutable (unchangeable) objects. If a Set
contained changeable objects, an object could be changed to become equal to another object in the Set
.
-
Because the elements in a set do not have to be in order, the Set
interface does not require that the elements in the iterator returned by the iterator
method be in any particular order. The order of the values generated by the iterator depends on the class that implements Set
.