next up previous contents index
suivant: Les relations d'ordre monter: Autres structures de données précédent: Réalisation des piles   Table des matières   Index


Réalisation des files

La file est un modèle de la file d'attente à un guichet. Son interface est la suivante :

package structures;

public interface File {

  boolean estVide();
  void enfiler(Object o);
  Object tête();
  Object défiler();
}

La classe LinkedList définit des méthodes supplémentaires (c'est-à-dire des méthodes qui ne sont pas déclarées dans l'interface List). Ce sont les méthodes permettant d'accéder aux deux extrémités de la liste : addFirst, addLast, getFirst, getLast, removeFirst et removeLast. Elles vont permettre de réaliser des files.

Pour utiliser ces méthodes supplémentaires, il est ici nécessaire de déclarer la référence de type LinkedList et non de type List comme le voudrait la discipline d'abstraction :

import java.util.List;
import java.util.LinkedList;

class FileParListe implements File {

  private LinkedList contenu;    // et non List ...

  FileParListe() {
    contenu = new LinkedList();
  }

  public boolean estVide() {
    return contenu.isEmpty();
  }
  
  public void enfiler(Object o) {
    contenu.addFirst(o);
  }

  public Object tête() {
    return contenu.getLast();
  }
  
  public Object défiler() {
    return contenu.removeLast();
  }
}



Rene' LALEMENT 2002-11-07