Si bien hay dos respuestas excelentes que le dicen cómo hacerlo, creo que falta otra respuesta: en la mayoría de los casos, no debe hacerlo en absoluto.
Las matrices son engorrosas, en la mayoría de los casos es mejor que utilices el Collection API.
Con Colecciones, puede agregar y eliminar elementos y hay Colecciones especializadas para diferentes funcionalidades (búsqueda basada en índices, clasificación, unicidad, acceso FIFO, concurrencia, etc.).
Si bien es bueno e importante saber sobre las matrices y su uso, en la mayoría de los casos el uso de Colecciones hace que las API sean mucho más manejables (por eso las nuevas bibliotecas como Google Guava apenas usan matrices).
Por lo tanto, para su escenario, preferiría una lista de listas, y me creé usando la guayaba:
List<List<String>> listOfLists = Lists.newArrayList();
listOfLists.add(Lists.newArrayList("abc","def","ghi"));
listOfLists.add(Lists.newArrayList("jkl","mno","pqr"));
preguntas Noob pueden ser graves. De hecho, con frecuencia lo son. :-) –
Pregunta pertinente, y la respuesta no es obvia para quién sabe cómo se hace la alineación de la memoria. +1 – Benj