it.unimi.dsi.fastutil.longs
Class AbstractLongBidirectionalIterator

java.lang.Object
  extended by it.unimi.dsi.fastutil.longs.AbstractLongIterator
      extended by it.unimi.dsi.fastutil.longs.AbstractLongBidirectionalIterator
All Implemented Interfaces:
BidirectionalIterator<java.lang.Long>, LongBidirectionalIterator, LongIterator, ObjectBidirectionalIterator<java.lang.Long>, ObjectIterator<java.lang.Long>, java.util.Iterator<java.lang.Long>
Direct Known Subclasses:
AbstractLongBigListIterator, AbstractLongListIterator, LongIterators.UnmodifiableBidirectionalIterator

public abstract class AbstractLongBidirectionalIterator
extends AbstractLongIterator
implements LongBidirectionalIterator

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.
 java.lang.Long previous()
          Delegates to the corresponding type-specific method.
 long previousLong()
          Delegates to the corresponding generic method.
 
Methods inherited from class it.unimi.dsi.fastutil.longs.AbstractLongIterator
next, nextLong, 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.longs.LongIterator
nextLong, 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

previousLong

public long previousLong()
Delegates to the corresponding generic method.

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

previous

public java.lang.Long previous()
Delegates to the corresponding type-specific method.

Specified by:
previous in interface BidirectionalIterator<java.lang.Long>
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 LongBidirectionalIterator
Specified by:
back in interface ObjectBidirectionalIterator<java.lang.Long>
Parameters:
n - the number of elements to skip back.
Returns:
the number of elements actually skipped.
See Also:
Iterator.next()