Хотя есть два отличных ответа, рассказывающих вам, как это сделать, я чувствую, что отсутствует другой ответ: в большинстве случаев вам вообще не следует этого делать.
Массивы громоздкие, в большинстве случаев лучше использовать Collection API .
С помощью Коллекций вы можете добавлять и удалять элементы, и существуют специализированные Коллекции для различных функций (поиск на основе индекса, сортировка, уникальность, FIFO-доступ, параллелизм и т. Д.).
Хотя, конечно, хорошо и важно знать о массивах и их использовании, в большинстве случаев использование коллекций делает API-интерфейсы намного более управляемыми (вот почему новые библиотеки, такие как Google Guava, почти не используют массивы).
Итак, для вашего сценария я бы предпочел список списков, и я бы создал его с помощью Guava:
List<List<String>> listOfLists = Lists.newArrayList();
listOfLists.add(Lists.newArrayList("abc","def","ghi"));
listOfLists.add(Lists.newArrayList("jkl","mno","pqr"));