Ciao. Secondo me dovresti aggiungerli non ad un array di titoli2 bensì ad un vector in manier tale che l'elemento, usando il metodo add, venga sempre inserito all'ultimo posto del vector; una cosa del tipo:

.
.
.
.
Vector titoli2 = new Vector();
.
.
.
for( int i = 0; i < 30; i++ ){
titoli2.add( figlio.getNodeValue() );
}
.
.
.

Questa soluzione è la più semplice che mi venga in mente, senza provare nulla . Spero ti sia d'aiuto ciao