uoc.ei.tads
Class LlistaDoblementEncadenada.RecorregutBidireccionalLlista<E>

java.lang.Object
  extended by uoc.ei.tads.LlistaEncadenada.RecorregutUnidireccionalLLista<E>
      extended by uoc.ei.tads.LlistaDoblementEncadenada.RecorregutBidireccionalLlista<E>
All Implemented Interfaces:
java.io.Serializable, Recorregut<E>, RecorregutBidireccional<E>
Enclosing class:
LlistaDoblementEncadenada<E>

protected static class LlistaDoblementEncadenada.RecorregutBidireccionalLlista<E>
extends LlistaEncadenada.RecorregutUnidireccionalLLista<E>
implements RecorregutBidireccional<E>

Classe que proporciona un recorregut de les posicions. Basada en el pattern Iterator, soporta múltiples recorreguts simultanis i independents del contenidor. És sensible a eventuals alteracions de l'estructura de posicions i s'actualitza d'acord amb els canvis.

See Also:
Recorregut.hiHaSeguent(), Recorregut.seguent(), RecorregutBidireccional.hiHaAnterior(), RecorregutBidireccional.anterior(), Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface uoc.ei.tads.RecorregutBidireccional
RecorregutBidireccional.IniciRecorregut
 
Field Summary
protected  boolean teAnterior
          Hi pot haver anterior (control de l'encadenament circular).
 
Fields inherited from class uoc.ei.tads.LlistaEncadenada.RecorregutUnidireccionalLLista
darrer, nodeActual, teSeguent
 
Constructor Summary
LlistaDoblementEncadenada.RecorregutBidireccionalLlista(LlistaDoblementEncadenada<E> llista, RecorregutBidireccional.IniciRecorregut sentit)
          Constructor amb un paràmetre.
 
Method Summary
 Posicio<E> anterior()
          Primer recula, si es pot, i després retorna la posició.
 boolean hiHaAnterior()
          Comprova si hi ha una última o anterior posició.
 Posicio<E> seguent()
          Primer avança, si es pot, i després retorna la posició.
 
Methods inherited from class uoc.ei.tads.LlistaEncadenada.RecorregutUnidireccionalLLista
hiHaSeguent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface uoc.ei.tads.Recorregut
hiHaSeguent
 

Field Detail

teAnterior

protected boolean teAnterior
Hi pot haver anterior (control de l'encadenament circular).

Constructor Detail

LlistaDoblementEncadenada.RecorregutBidireccionalLlista

public LlistaDoblementEncadenada.RecorregutBidireccionalLlista(LlistaDoblementEncadenada<E> llista,
                                                               RecorregutBidireccional.IniciRecorregut sentit)
Constructor amb un paràmetre.

Parameters:
sentit - sentit del recorregut; valors vàlids són: -IteradorBidireccional.NORMAL i -IteradorBidireccional.INVERS
Method Detail

hiHaAnterior

public boolean hiHaAnterior()
Comprova si hi ha una última o anterior posició. És sensible a eventuals alteracions de l'estructura de posicions. Retorna fals si està buit o ja s'ha visitat la darrera posició.

Specified by:
hiHaAnterior in interface RecorregutBidireccional<E>
Returns:
cert o fals, segons si es pot recular o no es pot

seguent

public Posicio<E> seguent()
Primer avança, si es pot, i després retorna la posició.

Specified by:
seguent in interface Recorregut<E>
Overrides:
seguent in class LlistaEncadenada.RecorregutUnidireccionalLLista<E>
Returns:
següent posició
Throws:
ExcepcioPosicioInvalida - si la següent posició no existeix

anterior

public Posicio<E> anterior()
Primer recula, si es pot, i després retorna la posició.

Specified by:
anterior in interface RecorregutBidireccional<E>
Returns:
anterior posició
Throws:
ExcepcioPosicioInvalida - si l'anterior posició no existeix