Son listas de
objetos que se caracterizan porque los nuevos objetos se añaden al final,
mientras que van saliendo por el principio. De esta forma, resulta que el
primero que entra es el primero que sale (en Inglés, FIFO: First In, First
Out).
Colas (listas FIFO) |
public interface Cola<T> { // mete un objeto T al final de la cola void mete(T t) throws ExcepcionColaLlena; // retira el primer objeto de la cola T sacaPrimero() throws ExcepcionColaVacia; // mira, sin retirar, el primer objeto T miraPrimero() throws ExcepcionColaVacia; // objetos en la cola int longitud(); } |
Es fácil
implementar las colas como listas:
Cola implementada con una lista |
import
java.util.*; public
class ColaLista<T> implements Cola<T> { private List<T> lista = new
ArrayList<T>(); public void mete(T t) { lista.add(t); } public T miraPrimero() throws ExcepcionColaVacia { if (lista.size() == 0) throw new
ExcepcionColaVacia(); return lista.get(0); } public T sacaPrimero() throws
ExcepcionColaVacia { if (lista.size() == 0) throw new ExcepcionColaVacia(); return lista.remove(0); } public int longitud() { return lista.size(); } } |
Temas relacionados