java.util
Class WeakHashMap.Entry

java.lang.Object
  extended byjava.lang.ref.Reference
      extended byjava.lang.ref.WeakReference
          extended byjava.util.WeakHashMap.Entry
All Implemented Interfaces:
Map.Entry
Enclosing class:
WeakHashMap

private static class WeakHashMap.Entry
extends WeakReference
implements Map.Entry

The entries in this hash table extend WeakReference, using its main ref field as the key.


Nested Class Summary
 
Nested classes inherited from class java.lang.ref.Reference
 
Field Summary
private  int hash
           
private  WeakHashMap.Entry next
           
private  Object value
           
 
Fields inherited from class java.lang.ref.Reference
 
Constructor Summary
(package private) WeakHashMap.Entry(Object key, Object value, ReferenceQueue queue, int hash, WeakHashMap.Entry next)
          Create new entry.
 
Method Summary
 boolean equals(Object o)
          Compares the specified object with this entry for equality.
 Object getKey()
          Returns the key corresponding to this entry.
 Object getValue()
          Returns the value corresponding to this entry.
 int hashCode()
          Returns the hash code value for this map entry.
 Object setValue(Object newValue)
          Replaces the value corresponding to this entry with the specified value (optional operation).
 String toString()
          Returns a string representation of the object.
 
Methods inherited from class java.lang.ref.Reference
clear, enqueue, get, isEnqueued
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

value

private Object value

hash

private final int hash

next

private WeakHashMap.Entry next
Constructor Detail

WeakHashMap.Entry

WeakHashMap.Entry(Object key,
                  Object value,
                  ReferenceQueue queue,
                  int hash,
                  WeakHashMap.Entry next)
Create new entry.

Method Detail

getKey

public Object getKey()
Description copied from interface: Map.Entry
Returns the key corresponding to this entry.

Specified by:
getKey in interface Map.Entry
Returns:
the key corresponding to this entry.

getValue

public Object getValue()
Description copied from interface: Map.Entry
Returns the value corresponding to this entry. If the mapping has been removed from the backing map (by the iterator's remove operation), the results of this call are undefined.

Specified by:
getValue in interface Map.Entry
Returns:
the value corresponding to this entry.

setValue

public Object setValue(Object newValue)
Description copied from interface: Map.Entry
Replaces the value corresponding to this entry with the specified value (optional operation). (Writes through to the map.) The behavior of this call is undefined if the mapping has already been removed from the map (by the iterator's remove operation).

Specified by:
setValue in interface Map.Entry
Parameters:
newValue - new value to be stored in this entry.
Returns:
old value corresponding to the entry.

equals

public boolean equals(Object o)
Description copied from interface: Map.Entry
Compares the specified object with this entry for equality. Returns true if the given object is also a map entry and the two entries represent the same mapping. More formally, two entries e1 and e2 represent the same mapping if
     (e1.getKey()==null ?
      e2.getKey()==null : e1.getKey().equals(e2.getKey()))  &&
     (e1.getValue()==null ?
      e2.getValue()==null : e1.getValue().equals(e2.getValue()))
 
This ensures that the equals method works properly across different implementations of the Map.Entry interface.

Specified by:
equals in interface Map.Entry
Overrides:
equals in class Object
Parameters:
o - the reference object with which to compare.
Returns:
true if this object is the same as the obj argument; false otherwise.
See Also:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
Description copied from interface: Map.Entry
Returns the hash code value for this map entry. The hash code of a map entry e is defined to be:
     (e.getKey()==null   ? 0 : e.getKey().hashCode()) ^
     (e.getValue()==null ? 0 : e.getValue().hashCode())
 
This ensures that e1.equals(e2) implies that e1.hashCode()==e2.hashCode() for any two Entries e1 and e2, as required by the general contract of Object.hashCode.

Specified by:
hashCode in interface Map.Entry
Overrides:
hashCode in class Object
Returns:
a hash code value for this object.
See Also:
Object.equals(java.lang.Object), Hashtable

toString

public String toString()
Description copied from class: Object
Returns a string representation of the object. In general, the toString 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())
 

Overrides:
toString in class Object
Returns:
a string representation of the object.