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); } }