Semplicemente usi il metodo remove quando non c'è più alcun oggetto da eliminare e quindi ti scatta l'eccezione.
Prima di rimuovere, vedi che oggetto c'è all'interno, cancellare in maniera così indiscriminata senza sapere cosa all'interno non è mai molto bello...fai una prova con un debugging.
Ciao.
P.S. ho fatto un controllo.
Ma scusa cosa te ne fai del remove?!?
Ho visto che la tua variabile "rows" ha 9 elementi....
Vuoi il 4° elemento?
rows.get(3);
Vuoi il quinto?
rows.get(4);
Poi puoi memorizzarti l'elemento una una variabile ad esempio
Element riga = rows.get(i);
dove i è l'indice che tu decidi.
Perché incamponirsi nelle scelte più difficili?
vuoi che poi per ragioni di performance la variabile Elements non esista più e venga cancellata?
rows=null;
Se usavi il remove dovevi mettere come argomento il numero dell'elemento.
Ma devi sempre stare attento perché alla cancellazione di uno dei "record" il vettore degli elementi diventa n=n-1;
Per cui usa la soluzione più semplice.
Ciao.