Alla luce di quanto mi è stato detto ho realizzato il seguente metodo:
In pratica, mi sono creato un Main in cui ho creato una coda ed inserito degli interi. Poi ho richiamato il metodo reverse() passandogli la coda appena creata, ma stranamente effettuando il debug del codice ho notato che la coda nel metodo reverse() ha dimensione zero. Non mi è chiaro il perché.codice:public class ReverseQ { public static LinkedList<Integer> reverse( Queue<Integer> qAux2 ) { System.out.println("sono entrato nel metodo reverse()"); if (qAux2 == null) throw new IllegalArgumentException("La coda deve essere inizializzata"); System.out.println("sono dopo IF"); LinkedList<Integer> qAux=new LinkedList<Integer>(); System.out.println(qAux2.size()); for (int i = 0; i < qAux2.size(); i++) { System.out.println("sono entrato nel FOR"); if(qAux2.isEmpty()) { qAux.add(i); }else { System.out.println("sono entrato nel else "); qAux.addFirst(i); } } for(Integer elem : qAux) System.out.println("qAux: "+elem); return qAux; } }

Rispondi quotando