java.util
Class HashMap.Entry

java.lang.Object
  extended byjava.util.HashMap.Entry
All Implemented Interfaces:
Map.Entry
Direct Known Subclasses:
LinkedHashMap.Entry
Enclosing class:
HashMap

static class HashMap.Entry
extends Object
implements Map.Entry


Field Summary
(package private)  int hash
           
(package private)  Object key
           
(package private)  HashMap.Entry next
           
(package private)  Object value
           
 
Constructor Summary
(package private) HashMap.Entry(int h, Object k, Object v, HashMap.Entry n)
          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.
(package private)  void recordAccess(HashMap m)
          This method is invoked whenever the value in an entry is overwritten by an invocation of put(k,v) for a key k that's already in the HashMap.
(package private)  void recordRemoval(HashMap m)
          This method is invoked whenever the entry is removed from the table.
 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.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

key

final Object key

value

Object value

hash

final int hash

next

HashMap.Entry next
Constructor Detail

HashMap.Entry

HashMap.Entry(int h,
              Object k,
              Object v,
              HashMap.Entry n)
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.

recordAccess

void recordAccess(HashMap m)
This method is invoked whenever the value in an entry is overwritten by an invocation of put(k,v) for a key k that's already in the HashMap.


recordRemoval

void recordRemoval(HashMap m)
This method is invoked whenever the entry is removed from the table.