it.unimi.dsi.fastutil.ints
Class AbstractIntBidirectionalIterator

java.lang.Object
  extended by it.unimi.dsi.fastutil.ints.AbstractIntIterator
      extended by it.unimi.dsi.fastutil.ints.AbstractIntBidirectionalIterator
All Implemented Interfaces:
BidirectionalIterator<Integer>, IntBidirectionalIterator, IntIterator, ObjectBidirectionalIterator<Integer>, ObjectIterator<Integer>, Iterator<Integer>
Direct Known Subclasses:
AbstractIntBigListIterator, AbstractIntListIterator, IntIterators.UnmodifiableBidirectionalIterator

public abstract class AbstractIntBidirectionalIterator
extends AbstractIntIterator
implements IntBidirectionalIterator

An abstract class facilitating the creation of type-specific bidirectional iterators.

To create a type-specific bidirectional iterator, besides what is needed for an iterator you need both a method returning the previous element as primitive type and a method returning the previous element as an object. However, if you inherit from this class you need just one (anyone).

This class implements also a trivial version of back(int) that uses type-specific methods.


Method Summary
 int back(int n)
          This method just iterates the type-specific version of previous() for at most n times, stopping if BidirectionalIterator.hasPrevious() becomes false.
 Integer previous()
          Delegates to the corresponding type-specific method.
 int previousInt()
          Delegates to the corresponding generic method.
 
Methods inherited from class it.unimi.dsi.fastutil.ints.AbstractIntIterator
next, nextInt, remove, skip
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface it.unimi.dsi.fastutil.ints.IntIterator
nextInt, skip
 
Methods inherited from interface it.unimi.dsi.fastutil.objects.ObjectIterator
skip
 
Methods inherited from interface it.unimi.dsi.fastutil.BidirectionalIterator
hasPrevious
 
Methods inherited from interface java.util.Iterator
hasNext, next, remove
 

Method Detail

previousInt

public int previousInt()
Delegates to the corresponding generic method.

Specified by:
previousInt in interface IntBidirectionalIterator
Returns:
the previous element in the iteration.
See Also:
ListIterator.previous()

previous

public Integer previous()
Delegates to the corresponding type-specific method.

Specified by:
previous in interface BidirectionalIterator<Integer>
Returns:
the previous element from the collection.
See Also:
ListIterator.previous()

back

public int back(int n)
This method just iterates the type-specific version of previous() for at most n times, stopping if BidirectionalIterator.hasPrevious() becomes false.

Specified by:
back in interface IntBidirectionalIterator
Specified by:
back in interface ObjectBidirectionalIterator<Integer>
Parameters:
n - the number of elements to skip back.
Returns:
the number of elements actually skipped.
See Also:
Iterator.next()