Originariamente inviato da ittaglia
Da quanto ho capito a lezione il vector crea un array di Object.
Sì, la sua struttura dati interna è banalmente un Object[].

Originariamente inviato da ittaglia
Vector<Pagina> collezionePagine= new Vector<Pagina>(numeroPagine);
Dove numeroPagine naturalmente è il numero delle pagine che devo avere ( cioè quando è grande il vettore.
Nota che il valore passato al costruttore è solo la capacità (iniziale), non il numero "logico" di elementi nel Vector.

Originariamente inviato da ittaglia
codice:
for (int i = 0; i < numeroPagine; i++) {
			collezionePagine.insertElementAt(new Pagina(nodi), i);
		}
Fino a qui ho fatto qualche errore?
Basta un add(oggetto) o addElement(oggetto) (quest'ultimo è il "vecchio" metodo introdotto prima del add) invece che complicarsi la vita con insertElementAt e l'indice.

Originariamente inviato da ittaglia
codice:
collezionePagine.set(index, new Pagina(nodi));
Anche questo è giusto vero? secondo java java dovrebbe eliminare quello che c'è in posizione index e sostituirlo con un nuovo oggetto di tipo pagina.
Ok.

Originariamente inviato da ittaglia
Arriviamo ora alla cosa che non mi torno. Ho bisogno che il mio vettore possa ingrandirsi di 1. Quindi secondo quando letto in Java dovrei fare

codice:
collezionePagine.setSize(numeroPagine+1);
Giusto? però se vado in debug vedo molti più spazi nuovi creati. Come mai? Il metodo è sbagliato?
No, è corretto. Il Vector ha aumentato il numero "logico" di elementi di 1 unità (mette un null in quel indice in più). Ma la sua capacità "fisica" è aumentata molto di più. È normale, perché funziona a capacità "espansa". Questo permette di non dover istanziare un nuovo array ad ogni add/insert. Quindi solo ogni tanto istanzia un nuovo array e ricopia i reference dal vecchio al nuovo array e il tempo perso per questo è "ammortizzato" nel tempo.