net.metanotion.util.skiplist
Class SkipIterator

java.lang.Object
  extended by net.metanotion.util.skiplist.SkipIterator
All Implemented Interfaces:
Iterator, ListIterator
Direct Known Subclasses:
IBSkipIterator

public class SkipIterator
extends Object
implements ListIterator

A basic iterator for a skip list. This is not a complete ListIterator, in particular, since the skip list is a map and is therefore indexed by Comparable objects instead of int's, the nextIndex and previousIndex methods are not really relevant. To be clear, this is an iterator through the values. To get the key, call nextKey() BEFORE calling next().


Field Summary
protected  int index
           
protected  SkipSpan ss
           
 
Constructor Summary
protected SkipIterator()
           
  SkipIterator(SkipSpan ss, int index)
           
 
Method Summary
 void add(Object o)
           
 boolean hasNext()
           
 boolean hasPrevious()
           
 Object next()
           
 int nextIndex()
           
 Comparable nextKey()
          The key.
 Object previous()
           
 int previousIndex()
           
 void remove()
           
 void set(Object o)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ss

protected SkipSpan ss

index

protected int index
Constructor Detail

SkipIterator

protected SkipIterator()

SkipIterator

public SkipIterator(SkipSpan ss,
                    int index)
Method Detail

hasNext

public boolean hasNext()
Specified by:
hasNext in interface Iterator
Specified by:
hasNext in interface ListIterator

next

public Object next()
Specified by:
next in interface Iterator
Specified by:
next in interface ListIterator
Returns:
the next value, and advances the index
Throws:
NoSuchElementException

nextKey

public Comparable nextKey()
The key. Does NOT advance the index.

Returns:
the key for which the value will be returned in the subsequent call to next()
Throws:
NoSuchElementException

hasPrevious

public boolean hasPrevious()
Specified by:
hasPrevious in interface ListIterator

previous

public Object previous()
Specified by:
previous in interface ListIterator
Returns:
the previous value, and decrements the index
Throws:
NoSuchElementException

add

public void add(Object o)
Specified by:
add in interface ListIterator

remove

public void remove()
Specified by:
remove in interface Iterator
Specified by:
remove in interface ListIterator

set

public void set(Object o)
Specified by:
set in interface ListIterator

nextIndex

public int nextIndex()
Specified by:
nextIndex in interface ListIterator

previousIndex

public int previousIndex()
Specified by:
previousIndex in interface ListIterator