uoc.ei.tads
Class ListaDoblementeEncadenada.RecorridoBidireccionalLista<E>
java.lang.Object
uoc.ei.tads.ListaEncadenada.RecorridoUnidireccionalLista<E>
uoc.ei.tads.ListaDoblementeEncadenada.RecorridoBidireccionalLista<E>
- All Implemented Interfaces:
- java.io.Serializable, Recorrido<E>, RecorridoBidireccional<E>
- Enclosing class:
- ListaDoblementeEncadenada<E>
protected static class ListaDoblementeEncadenada.RecorridoBidireccionalLista<E>
- extends ListaEncadenada.RecorridoUnidireccionalLista<E>
- implements RecorridoBidireccional<E>
Clase que proporciona un recorrido de las posiciones. Basada en el
pattern Iterator, soporta múltiples recorridos simultáneos y
independientes del contenedor. Es sensible a eventuales alteraciones de
la estructura de posiciones y se actualiza de acuerdo con los cambios.
- See Also:
Recorrido.haySiguiente()
,
Recorrido.siguiente()
,
RecorridoBidireccional.hayAnterior()
,
RecorridoBidireccional.anterior()
,
Serialized Form
Field Summary |
protected boolean |
tieneAnterior
puede haber anterior (control del encadenamiento circular). |
Method Summary |
Posicion<E> |
anterior()
Primero retrocede, si se puede, y después retorna la posición. |
boolean |
hayAnterior()
Comprueba si hay una última o anterior posición. |
Posicion<E> |
siguiente()
Primero avanza, si se puede, y después retorna la posición. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
tieneAnterior
protected boolean tieneAnterior
- puede haber anterior (control del encadenamiento circular).
ListaDoblementeEncadenada.RecorridoBidireccionalLista
public ListaDoblementeEncadenada.RecorridoBidireccionalLista(ListaDoblementeEncadenada<E> lista,
RecorridoBidireccional.InicioRecorrido sentido)
- Constructor con un parámetro.
- Parameters:
sentido
- sentido del recorrido; valores válidos son:
-IteradorBidireccional.NORMAL y
-IteradorBidireccional.INVERSO
hayAnterior
public boolean hayAnterior()
- Comprueba si hay una última o anterior posición. Es sensible a
eventuales alteraciones de la estructura de posiciones. Retorna falso
si está vacío o ya se ha visitado la última posición.
- Specified by:
hayAnterior
in interface RecorridoBidireccional<E>
- Returns:
- cierto o falso, según si se puede ir hacia atràs o no se puede
siguiente
public Posicion<E> siguiente()
- Primero avanza, si se puede, y después retorna la posición.
- Specified by:
siguiente
in interface Recorrido<E>
- Overrides:
siguiente
in class ListaEncadenada.RecorridoUnidireccionalLista<E>
- Returns:
- siguiente posición
- Throws:
ExcepcionPosicionInvalida
- si la siguiente posición no
existe
anterior
public Posicion<E> anterior()
- Primero retrocede, si se puede, y después retorna la posición.
- Specified by:
anterior
in interface RecorridoBidireccional<E>
- Returns:
- anterior posición
- Throws:
ExcepcionPosicionInvalida
- si el anterior posición no
existe