gnu.trove.impl.hash
Class THashIterator<V>

java.lang.Object
  extended by gnu.trove.impl.hash.THashIterator<V>
All Implemented Interfaces:
TIterator, java.util.Iterator<V>
Direct Known Subclasses:
TObjectHashIterator

public abstract class THashIterator<V>
extends java.lang.Object
implements TIterator, java.util.Iterator<V>

Implements all iterator functions for the hashed object set. Subclasses may override objectAtIndex to vary the object returned by calls to next() (e.g. for values, and Map.Entry objects).

Note that iteration is fastest if you forego the calls to hasNext in favor of checking the size of the structure yourself and then call next() that many times:

 Iterator i = collection.iterator();
 for (int size = collection.size(); size-- > 0;) {
   Object o = i.next();
 }
 

You may, of course, use the hasNext(), next() idiom too if you aren't in a performance critical spot.


Field Summary
protected  int _expectedSize
          the number of elements this iterator believes are in the data structure it accesses.
protected  THash _hash
          the data structure this iterator traverses
protected  int _index
          the index used for iteration.
 
Constructor Summary
protected THashIterator(TObjectHash<V> hash)
          Create an instance of THashIterator over the values of the TObjectHash
 
Method Summary
 boolean hasNext()
          Returns true if the iterator can be advanced past its current location.
protected  void moveToNextIndex()
          Sets the internal index so that the `next' object can be returned.
 V next()
          Moves the iterator to the next Object and returns it.
protected  int nextIndex()
          Returns the index of the next value in the data structure or a negative value if the iterator is exhausted.
protected abstract  V objectAtIndex(int index)
          Returns the object at the specified index.
 void remove()
          Removes the last entry returned by the iterator.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_hash

protected final THash _hash
the data structure this iterator traverses


_expectedSize

protected int _expectedSize
the number of elements this iterator believes are in the data structure it accesses.


_index

protected int _index
the index used for iteration.

Constructor Detail

THashIterator

protected THashIterator(TObjectHash<V> hash)
Create an instance of THashIterator over the values of the TObjectHash

Parameters:
hash - the object
Method Detail

next

public V next()
Moves the iterator to the next Object and returns it.

Specified by:
next in interface java.util.Iterator<V>
Returns:
an Object value
Throws:
java.util.ConcurrentModificationException - if the structure was changed using a method that isn't on this iterator.
java.util.NoSuchElementException - if this is called on an exhausted iterator.

hasNext

public boolean hasNext()
Returns true if the iterator can be advanced past its current location.

Specified by:
hasNext in interface TIterator
Specified by:
hasNext in interface java.util.Iterator<V>
Returns:
a boolean value

remove

public void remove()
Removes the last entry returned by the iterator. Invoking this method more than once for a single entry will leave the underlying data structure in a confused state.

Specified by:
remove in interface TIterator
Specified by:
remove in interface java.util.Iterator<V>

moveToNextIndex

protected final void moveToNextIndex()
Sets the internal index so that the `next' object can be returned.


nextIndex

protected final int nextIndex()
Returns the index of the next value in the data structure or a negative value if the iterator is exhausted.

Returns:
an int value
Throws:
java.util.ConcurrentModificationException - if the underlying collection's size has been modified since the iterator was created.

objectAtIndex

protected abstract V objectAtIndex(int index)
Returns the object at the specified index. Subclasses should implement this to return the appropriate object for the given index.

Parameters:
index - the index of the value to return.
Returns:
an Object value


Copyright © 2007-2011 - Thomas Abeel - All Rights Reserved. SourceForge.netLogo