ListIterator

Kind of class:public interface
Package:com.bourre.collection
Inherits from:Iterator
Implemented by:
Author:Cédric Néhémie
Classpath:com.bourre.collection.ListIterator
File last modified:Monday, 24 November 2008, 11:36:49
An iterator for lists that allows the programmer
to traverse the list in either direction, modify
the list during iteration, and obtain the iterator's
current position in the list. A
ListIterator</code

has no current element; its cursor position always lies
between the element that would be returned by a call
to <code>previous()
and the element that would
be returned by a call to next(). In a list
of length n, there are n+1 valid
index values, from 0 to n, inclusive.

Note that the remove() and set(Object)methods are not defined in terms of the cursor position; they
are defined to operate on the last element returned by a call
to next() or previous().

See also:

Summary


Instance methods
  • add (o:Object) : void
    • Inserts the specified element into the list (optional operation).
  • hasPrevious : Boolean
    • Returns true if this list iterator has more elements when
  • nextIndex : uint
    • Returns the index of the element that would be returned
  • previous : *
    • Returns the previous element in the list.
  • previousIndex : uint
    • Returns the index of the element that would be returned
  • set (o:Object) : void
    • Replaces the last element returned by next or previous
Instance methods inherited from Iterator

Instance methods

add

public function add (
o:Object) : void

Inserts the specified element into the list (optional operation).
The element is inserted immediately before the next element that
would be returned by next, if any, and after the next element
that would be returned by previous, if any. (If the list contains
no elements, the new element becomes the sole element on the list.)
The new element is inserted before the implicit cursor: a subsequent
call to next would be unaffected, and a subsequent call to previous
would return the new element. (This call increases by one the value
that would be returned by a call to nextIndex or previousIndex.)
Parameters:
o:
the element to insert.
Throws:
  • {VISDOC_LINK_0}UnsupportedOperationException — if the set operation
    is not supported by this list iterator.
  • {VISDOC_LINK_1}ClassCastException — if the class of the specified
    element prevents it from being added to this list.
  • {VISDOC_LINK_2}IllegalArgumentException — if some aspect of the
    specified element prevents it from being added to this list.
  • {VISDOC_LINK_3}IllegalStateException — if neither next nor previous have
    been called, or remove or add have been called after
    the last call to next or previous.

hasPrevious

public function hasPrevious (
) : Boolean

Returns true if this list iterator has more elements when
traversing the list in the reverse direction. (In other words,
returns true if previous would return an element
rather than throwing an exception.)
Returns:
  • true if the list iterator has more elements when
    traversing the list in the reverse direction.

nextIndex

public function nextIndex (
) : uint

Returns the index of the element that would be returned
by a subsequent call to next. (Returns list size if the
list iterator is at the end of the list.)
Returns:
  • the index of the element that would be returned
    by a subsequent call to next, or list size if list
    iterator is at end of list.

previousIndex

public function previousIndex (
) : uint

Returns the index of the element that would be returned
by a subsequent call to previous. (Returns -1if the list iterator is at the beginning of the list.)
Returns:
  • the index of the element that would be returned
    by a subsequent call to previous, or -1 if list iterator is at beginning of list.

set

public function set (
o:Object) : void

Replaces the last element returned by next or previous
with the specified element (optional operation).
This call can be made only if neither ListIterator.removenor ListIterator.add have been called after the last
call to next or previous.
Parameters:
o:
the element with which to replace the last
element returned by next or previous.
Throws:
  • {VISDOC_LINK_0}UnsupportedOperationException — if the set operation
    is not supported by this list iterator.
  • {VISDOC_LINK_1}ClassCastException — if the class of the specified
    element prevents it from being added to this list.
  • {VISDOC_LINK_2}IllegalArgumentException — if some aspect of the
    specified element prevents it from being added to this list.
  • {VISDOC_LINK_3}IllegalStateException — if neither next nor previous have
    been called, or remove or add have been called after
    the last call to next or previous.