Ciao dennis87.
Quello che mega_saiyan vuole dirti è che se vuoi utilizzare i metodi pop() e push() su di un ArrayList, dal momento che essa non li ha, dovresti cercare di ricrearli. Quindi se in una LinkedList hai i metodi:
pop() recupera (eliminandolo) dalla cima dello stack l'elemento E
push(E e) mette sulla cima dello stack stack l'elemento E
Potresti crearti la classe MyArrayList che eredita da ArrayList in cui definisci i metodi pop() e push() che però lavorano sulla struttura dati tipica dell'ArrayList
Un esempio pratico e funzionante:
import java.util.ArrayList;
public class MyArrayList<E> extends ArrayList {
public E pop() {
E retVal;
retVal = (E) this.get(this.size()-1);
this.remove(this.size()-1);
return retVal;
}
public void push(E e) {
this.add(e);
}
}
Puoi testare il codice con un semplice esempio come questo:
public class MyArrayListTest {
public static void main(String[] args) {
MyArrayList<String> mal = new MyArrayList<String>();
mal.push("stringa 1");
mal.push("stringa 2");
mal.push("stringa 3");
mal.push("stringa 4");
mal.push("stringa 5");
while (!mal.isEmpty()){
System.out.println(mal.pop());
}
}
}
In questo modo hai una classe ArrayList con i metodi push e pop tipici della LinkedList