public class CollectionAsSet<K>
extends java.lang.Object
implements java.util.Set<K>
| Constructor and Description |
|---|
CollectionAsSet(java.util.Collection<K> coll,
boolean immutable) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
add(K e)
Adds the specified element to this set if it is not already present
(optional operation).
|
boolean |
addAll(java.util.Collection<? extends K> c)
Adds all of the elements in the specified collection to this set if
they're not already present (optional operation).
|
void |
clear()
Removes all of the elements from this set (optional operation).
|
boolean |
contains(java.lang.Object o)
Returns true if this set contains the specified element.
|
boolean |
containsAll(java.util.Collection<?> c)
Returns true if this set contains all of the elements of the
specified collection.
|
boolean |
equals(java.lang.Object obj)
Indicates whether some other object is "equal to" this one.
|
int |
hashCode()
Returns a hash code value for the object.
|
boolean |
isEmpty()
Returns true if this set contains no elements.
|
java.util.Iterator<K> |
iterator()
Returns an iterator over the elements in this set.
|
boolean |
remove(java.lang.Object o)
Removes the specified element from this set if it is present
(optional operation).
|
boolean |
removeAll(java.util.Collection<?> c)
Removes from this set all of its elements that are contained in the
specified collection (optional operation).
|
boolean |
retainAll(java.util.Collection<?> c)
Retains only the elements in this set that are contained in the
specified collection (optional operation).
|
int |
size()
Returns the number of elements in this set (its cardinality).
|
java.lang.Object[] |
toArray()
Returns an array containing all of the elements in this set.
|
<T> T[] |
toArray(T[] a)
Returns an array containing all of the elements in this set; the
runtime type of the returned array is that of the specified array.
|
java.lang.String |
toString()
Returns a string representation of the object.
|
public CollectionAsSet(java.util.Collection<K> coll, boolean immutable)
public boolean equals(java.lang.Object obj)
java.lang.Object
The equals method implements an equivalence relation
on non-null object references:
x, x.equals(x) should return
true.
x and y, x.equals(y)
should return true if and only if
y.equals(x) returns true.
x, y, and z, if
x.equals(y) returns true and
y.equals(z) returns true, then
x.equals(z) should return true.
x and y, multiple invocations of
x.equals(y) consistently return true
or consistently return false, provided no
information used in equals comparisons on the
objects is modified.
x,
x.equals(null) should return false.
The equals method for class Object implements
the most discriminating possible equivalence relation on objects;
that is, for any non-null reference values x and
y, this method returns true if and only
if x and y refer to the same object
(x == y has the value true).
Note that it is generally necessary to override the hashCode method whenever this method is overridden, so as to maintain the general contract for the hashCode method, which states that equal objects must have equal hash codes.
equals in interface java.util.Collection<K>equals in interface java.util.Set<K>equals in class java.lang.Objectobj - the reference object with which to compare.true if this object is the same as the obj
argument; false otherwise.Object.hashCode(),
Hashtablepublic int hashCode()
java.lang.Objectjava.util.Hashtable.
The general contract of hashCode is:
hashCode method on each of
the two objects must produce the same integer result.
Object.equals(java.lang.Object)
method, then calling the hashCode method on each of the
two objects must produce distinct integer results. However, the
programmer should be aware that producing distinct integer results
for unequal objects may improve the performance of hashtables.
As much as is reasonably practical, the hashCode method defined by class Object does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the JavaTM programming language.)
public java.lang.String toString()
java.lang.ObjecttoString method returns a string that
"textually represents" this object. The result should
be a concise but informative representation that is easy for a
person to read.
It is recommended that all subclasses override this method.
The toString method for class Object
returns a string consisting of the name of the class of which the
object is an instance, the at-sign character `@', and
the unsigned hexadecimal representation of the hash code of the
object. In other words, this method returns a string equal to the
value of:
getClass().getName() + '@' + Integer.toHexString(hashCode())
toString in class java.lang.Objectpublic int size()
java.util.Setpublic boolean isEmpty()
java.util.Setpublic boolean contains(java.lang.Object o)
java.util.Setpublic java.lang.Object[] toArray()
java.util.SetThe returned array will be "safe" in that no references to it are maintained by this set. (In other words, this method must allocate a new array even if this set is backed by an array). The caller is thus free to modify the returned array.
This method acts as bridge between array-based and collection-based APIs.
public <T> T[] toArray(T[] a)
java.util.SetIf this set fits in the specified array with room to spare (i.e., the array has more elements than this set), the element in the array immediately following the end of the set is set to null. (This is useful in determining the length of this set only if the caller knows that this set does not contain any null elements.)
If this set makes any guarantees as to what order its elements are returned by its iterator, this method must return the elements in the same order.
Like the Set.toArray() method, this method acts as bridge between
array-based and collection-based APIs. Further, this method allows
precise control over the runtime type of the output array, and may,
under certain circumstances, be used to save allocation costs.
Suppose x is a set known to contain only strings. The following code can be used to dump the set into a newly allocated array of String:
String[] y = x.toArray(new String[0]);
Note that toArray(new Object[0]) is identical in function to
toArray().toArray in interface java.util.Collection<K>toArray in interface java.util.Set<K>a - the array into which the elements of this set are to be
stored, if it is big enough; otherwise, a new array of the same
runtime type is allocated for this purpose.public boolean containsAll(java.util.Collection<?> c)
java.util.Setpublic java.util.Iterator<K> iterator()
java.util.Setpublic boolean add(K e)
java.util.SetThe stipulation above does not imply that sets must accept all
elements; sets may refuse to add any particular element, including
null, and throw an exception, as described in the
specification for Collection.add.
Individual set implementations should clearly document any
restrictions on the elements that they may contain.
public boolean addAll(java.util.Collection<? extends K> c)
java.util.Setpublic void clear()
java.util.Setpublic boolean remove(java.lang.Object o)
java.util.Setpublic boolean removeAll(java.util.Collection<?> c)
java.util.Setpublic boolean retainAll(java.util.Collection<?> c)
java.util.Set