uoc.ei.tads
Interface Lista<E>

All Superinterfaces:
Contenedor<E>, java.io.Serializable
All Known Implementing Classes:
ListaDoblementeEncadenada, ListaEncadenada

public interface Lista<E>
extends Contenedor<E>

Secuencia posicional que se caracteriza por disponer de operaciones basadas en la posición que ocupa un elemento dentro del contenedor.

See Also:
Posicion

Method Summary
 E borrar(Posicion<E> pos)
          Borra la posición recibida.
 E borrarPrimero()
          Borra la primera posición de la lista.
 E borrarSiguiente(Posicion<E> pos)
          Borra la posición siguiente.
 Posicion<E> insertarAlFinal(E elem)
          Añade un elemento al final de la lista.
 Posicion<E> insertarAlPrincipio(E elem)
          Añade un elemento al principio de la lista.
 Posicion<E> insertarAntesDe(Posicion<E> pos, E elem)
          Añade un elemento antes de la posición recibida.
 Posicion<E> insertarDespuesDe(Posicion<E> pos, E elem)
          Añade un elemento después de la posición recibida.
 void intercambiar(Posicion<E> pos1, Posicion<E> pos2)
          Intercambia los elementos contenidos a las posiciones recibidas.
 Recorrido<E> posiciones()
           
 E reemplazar(Posicion<E> pos, E elem)
          Reemplaza el elemento contenido a la posición recibida.
 
Methods inherited from interface uoc.ei.tads.Contenedor
elementos, estaVacio, numElems
 

Method Detail

insertarAlPrincipio

Posicion<E> insertarAlPrincipio(E elem)
Añade un elemento al principio de la lista.

Parameters:
elem - elemento que se quiere añadir a la lista
Returns:
nueva posición que contiene el elemento

insertarAlFinal

Posicion<E> insertarAlFinal(E elem)
Añade un elemento al final de la lista.

Parameters:
elem - elemento que se quiere añadir a la lista
Returns:
nueva posición que contiene el elemento

insertarAntesDe

Posicion<E> insertarAntesDe(Posicion<E> pos,
                            E elem)
Añade un elemento antes de la posición recibida.

Parameters:
elem - elemento que se quiere añadir a la lista
pos - posición de referencia
Returns:
nueva posición que contiene el elemento
Throws:
ExcepcionPosicionInvalida - si la posición es null o no válida

insertarDespuesDe

Posicion<E> insertarDespuesDe(Posicion<E> pos,
                              E elem)
Añade un elemento después de la posición recibida.

Parameters:
elem - elemento que se quiere añadir a la lista
pos - posición de referencia
Returns:
nueva posición que contiene el elemento
Throws:
ExcepcionPosicionInvalida - si la posición es null o no válida

borrarPrimero

E borrarPrimero()
Borra la primera posición de la lista.

Returns:
elemento que había en la posición
Throws:
ExcepcionContenedorVacio - si la lista está vacía

borrar

E borrar(Posicion<E> pos)
Borra la posición recibida.

Parameters:
pos - posición que se quiere eliminar
Returns:
elemento que había en la posición
Throws:
ExcepcionPosicionInvalida - si la posición es null o no válida

borrarSiguiente

E borrarSiguiente(Posicion<E> pos)
Borra la posición siguiente.

Parameters:
pos - posición anterior a la que se quiere eliminar
Returns:
elemento que había en la posición siguiente
Throws:
ExcepcionPosicionInvalida - si la posición es null o no válida

reemplazar

E reemplazar(Posicion<E> pos,
             E elem)
Reemplaza el elemento contenido a la posición recibida.

Parameters:
elem - nuevo elemento
pos - posición de referencia
Returns:
elemento que había a la posición
Throws:
ExcepcionPosicionInvalida - si la posición es null o no válida

intercambiar

void intercambiar(Posicion<E> pos1,
                  Posicion<E> pos2)
Intercambia los elementos contenidos a las posiciones recibidas.

Parameters:
pos1 - primera de las dos posiciones de referencia
pos2 - segunda de las dos posiciones de referencia
Throws:
ExcepcionPosicionInvalida - si la posición es null o no válida

posiciones

Recorrido<E> posiciones()
Returns:
Un recorrido sobre las posiciones de la lista.