Este iterador es específico de las colecciones que implementan la interfaz List. Permite recorrer
una lista en ambas direcciones, y también eliminar, cambiar y añadir elementos de la lista.
ListIterator deriva de Iterator, y su declaración es la siguiente:
public interface ListIterator extends Iterator
{
boolean hasNext();
Object next();
int nextIndex();
boolean hasPrevious();
Object previous();
int previousIndex();
void remove();
void set(object):
void add(Object);
}
Las colecciones con el comportamiento de Lista disponen de los métodos listIterator()
y listIterator(int i) que devuelve un objeto ListIterator, de tal forma que la primera
llamada a next() devuelve el primer elemento, o el de índice i respectivamente. Por ejemplo:
ListLinked ld = new ListLinked();
ListIterator iterBdir;
iterBdir = ld.listIerator(); // el elemento actual es el primero
iterBdir = ld.listIterator(4); // elemento actual es el 4
Hay que tener en cuenta que el primer elemento es el de índice 0, y que el previo a este tiene
el índice -1.
El significado de hasNext() y next() es el mismo que tienen en la interfaz Iterator. Los
métodos hasPrevious() y previous() permiten recorrer la lista en sentido inverso. hasPrevious()
devuelve true si hay un elemento anterior. previous() devuelve el elemento anterior,
levanta la excepción NoSuchElementException si no hay elemento previo.
remove() elimina el último elemento obtenido por next(), o bien por previous().
set(Object q) sustituye por q el último elemento obtenido por next(), o bien por previous().
add(Object q) inserta q inmediatamente antes del elemento que devolvería la llamada a
next() y después del elemento que devolvería la llamada a previous().
No hay comentarios.:
Publicar un comentario
Es muy importante tu comentarios: