/*Felix-vimalaratnam Patrick*/ public class FileTableau implements File { private static final int CAPACITE_INITIALE = 20; private E[] elements; private int taille = 0; private int debut = 0; private int fin = 0; @SuppressWarnings("unchecked") public FileTableau() { elements = (E[]) new Object[CAPACITE_INITIALE]; // Création du tableau initial } @Override public void ajouter(E element) { elements[fin] = element; fin = (fin + 1); taille++; } @Override public E retirer() { if (estVide()) { throw new IllegalStateException("La file est vide"); } E element = elements[debut]; elements[debut] = null; // Supprime la référence pour éviter les fuites de mémoire debut = (debut + 1); taille--; return element; } @Override public int taille() { return taille; } @Override public boolean estVide() { return taille == 0; } }