java.util
Class IdentityHashMap.EntryIterator

java.lang.Object
  extended byjava.util.IdentityHashMap.IdentityHashMapIterator
      extended byjava.util.IdentityHashMap.EntryIterator
All Implemented Interfaces:
Iterator, Map.Entry
Enclosing class:
IdentityHashMap

private class IdentityHashMap.EntryIterator
extends IdentityHashMap.IdentityHashMapIterator
implements Map.Entry

Since we don't use Entry objects, we use the Iterator itself as an entry.


Field Summary
(package private)  int expectedModCount
           
(package private)  int index
           
(package private)  boolean indexValid
           
(package private)  int lastReturnedIndex
           
(package private)  Object[] traversalTable
           
 
Constructor Summary
private IdentityHashMap.EntryIterator()
           
 
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.
 boolean hasNext()
          Returns true if the iteration has more elements.
 Object next()
          Returns the next element in the iteration.
protected  int nextIndex()
           
 void remove()
          Removes from the underlying collection the last element returned by the iterator (optional operation).
 Object setValue(Object value)
          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

index

int index

expectedModCount

int expectedModCount

lastReturnedIndex

int lastReturnedIndex

indexValid

boolean indexValid

traversalTable

Object[] traversalTable
Constructor Detail

IdentityHashMap.EntryIterator

private IdentityHashMap.EntryIterator()
Method Detail

next

public Object next()
Description copied from interface: Iterator
Returns the next element in the iteration.

Specified by:
next in interface Iterator
Returns:
the next element in the iteration.

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 value)
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:
value - 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.

hasNext

public boolean hasNext()
Description copied from interface: Iterator
Returns true if the iteration has more elements. (In other words, returns true if next would return an element rather than throwing an exception.)

Specified by:
hasNext in interface Iterator
Returns:
true if the iterator has more elements.

nextIndex

protected int nextIndex()

remove

public void remove()
Description copied from interface: Iterator
Removes from the underlying collection the last element returned by the iterator (optional operation). This method can be called only once per call to next. The behavior of an iterator is unspecified if the underlying collection is modified while the iteration is in progress in any way other than by calling this method.

Specified by:
remove in interface Iterator