package structures;
public interface Pile {
boolean estVide();
void empiler(Object o);
Object sommet();
Object dépiler();
}
Un objet de classe PileParListe a un champ privé de type List auquel toutes les opérations sur les piles seront déléguées :
package structures;
import java.util.List;
import java.util.ArrayList;
class PileParListe implements Pile {
private List contenu;
PileParListe() {
contenu = new ArrayList();
}
public boolean estVide() {
return contenu.isEmpty();
}
public void empiler(Object o) {
contenu.add(o);
}
public Object sommet() {
return contenu.get(contenu.size()-1);
}
public Object dépiler() {
return contenu.remove(contenu.size()-1);
}
}