33.    Colas [queues] (estructura de datos)

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

Vademécum