Chociaż istnieją dwie doskonałe odpowiedzi, które mówią, jak to zrobić, czuję, że brakuje innej odpowiedzi: w większości przypadków nie należy tego robić w ogóle.
Tablice są uciążliwe, w większości przypadków lepiej jest korzystać z Collection API.
Za pomocą kolekcji można dodawać i usuwać elementy, a także dostępne są specjalne zbiory dla różnych funkcji (wyszukiwanie indeksowe, sortowanie, unikatowość, dostęp FIFO, współbieżność itp.).
Chociaż oczywiście dobrze jest poznać tablice i ich użycie, w większości przypadków korzystanie z kolekcji sprawia, że interfejsy API są dużo łatwiejsze w zarządzaniu (dlatego nowe biblioteki, takie jak Google Guava, w ogóle nie używają tablic).
Tak, dla scenariusza, wolałbym listę list, a ja go utworzyć za pomocą Guava:
List<List<String>> listOfLists = Lists.newArrayList();
listOfLists.add(Lists.newArrayList("abc","def","ghi"));
listOfLists.add(Lists.newArrayList("jkl","mno","pqr"));
Noob pytania mogą być poważne. W rzeczywistości często są. :-) –
Pertinentne pytanie, a odpowiedź nie jest oczywista dla tego, kto wie, jak odbywa się wyrównanie pamięci. +1 – Benj