|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.util.Collections.UnmodifiableCollection
java.util.Collections.UnmodifiableSet
java.util.Collections.UnmodifiableMap.UnmodifiableEntrySet
We need this class in addition to UnmodifiableSet as Map.Entries themselves permit modification of the backing Map via their setValue operation. This class is subtle: there are many possible attacks that must be thwarted.
| Nested Class Summary | |
private static class |
Collections.UnmodifiableMap.UnmodifiableEntrySet.UnmodifiableEntry
This "wrapper class" serves two purposes: it prevents the client from modifying the backing Map, by short-circuiting the setValue method, and it protects the backing Map against an ill-behaved Map.Entry that attempts to modify another Map Entry when asked to perform an equality check. |
| Field Summary | |
(package private) Collection |
c
|
| Constructor Summary | |
(package private) |
Collections.UnmodifiableMap.UnmodifiableEntrySet(Set s)
|
| Method Summary | |
boolean |
add(Object o)
Adds the specified element to this set if it is not already present (optional operation). |
boolean |
addAll(Collection coll)
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(Object o)
This method is overridden to protect the backing set against an object with a nefarious equals function that senses that the equality-candidate is Map.Entry and calls its setValue method. |
boolean |
containsAll(Collection coll)
The next two methods are overridden to protect against an unscrupulous List whose contains(Object o) method senses when o is a Map.Entry, and calls o.setValue. |
boolean |
equals(Object o)
Compares the specified object with this set for equality. |
int |
hashCode()
Returns the hash code value for this set. |
boolean |
isEmpty()
Returns true if this set contains no elements. |
Iterator |
iterator()
Returns an iterator over the elements in this set. |
boolean |
remove(Object o)
Removes the specified element from this set if it is present (optional operation). |
boolean |
removeAll(Collection coll)
Removes from this set all of its elements that are contained in the specified collection (optional operation). |
boolean |
retainAll(Collection coll)
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). |
Object[] |
toArray()
Returns an array containing all of the elements in this set. |
Object[] |
toArray(Object[] 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. |
String |
toString()
Returns a string representation of the object. |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface java.util.Set |
add, addAll, clear, isEmpty, remove, removeAll, retainAll, size |
| Field Detail |
Collection c
| Constructor Detail |
Collections.UnmodifiableMap.UnmodifiableEntrySet(Set s)
| Method Detail |
public Iterator iterator()
Set
iterator in interface Setiterator in class Collections.UnmodifiableCollectionpublic Object[] toArray()
Set
toArray in interface SettoArray in class Collections.UnmodifiableCollectionpublic Object[] toArray(Object[] a)
Set
toArray in interface SettoArray in class Collections.UnmodifiableCollectionpublic boolean contains(Object o)
contains in interface Setcontains in class Collections.UnmodifiableCollectionpublic boolean containsAll(Collection coll)
containsAll in interface SetcontainsAll in class Collections.UnmodifiableCollectionpublic boolean equals(Object o)
Set
equals in interface Setequals in class Collections.UnmodifiableSetpublic int hashCode()
Sets1.equals(s2) implies that
s1.hashCode()==s2.hashCode() for any two sets
s1 and s2, as required by the general
contract of the Object.hashCode method.
hashCode in interface SethashCode in class ObjectObject.equals(java.lang.Object),
Hashtablepublic int size()
Collection
size in interface Collectionpublic boolean isEmpty()
Collection
isEmpty in interface Collectionpublic String toString()
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 Objectpublic boolean add(Object o)
CollectionCollections that support this operation may place limitations on what elements may be added to this collection. In particular, some collections will refuse to add null elements, and others will impose restrictions on the type of elements that may be added. Collection classes should clearly specify in their documentation any restrictions on what elements may be added.
If a collection refuses to add a particular element for any reason other than that it already contains the element, it must throw an exception (rather than returning false). This preserves the invariant that a collection always contains the specified element after this call returns.
add in interface Collectiono - element whose presence in this collection is to be ensured.
public boolean remove(Object o)
Collection
remove in interface Collectiono - element to be removed from this collection, if present.
public boolean addAll(Collection coll)
Collection
addAll in interface Collectioncoll - elements to be inserted into this collection.
Collection.add(Object)public boolean removeAll(Collection coll)
Collection
removeAll in interface Collectioncoll - elements to be removed from this collection.
Collection.remove(Object),
Collection.contains(Object)public boolean retainAll(Collection coll)
Collection
retainAll in interface Collectioncoll - elements to be retained in this collection.
Collection.remove(Object),
Collection.contains(Object)public void clear()
Collection
clear in interface Collection
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||