Hipoteticamente, tenho 5 objetos de array de string:
String[] array1 = new String[];
String[] array2 = new String[];
String[] array3 = new String[];
String[] array4 = new String[];
String[] array5 = new String[];
e eu quero outro objeto de matriz para conter esses objetos de matriz de 5 strings. Como eu faço isso? Posso colocá-lo em outra matriz?
Respostas:
Como isso:
ou
(A última sintaxe pode ser usada em atribuições diferentes do ponto da declaração da variável, enquanto a sintaxe mais curta funciona apenas com declarações.)
fonte
new String[10][]
?experimentar
fonte
arrays[0] = new String[] {"a", "b", "c"}
ou usar uma Lista temporária: <pre> <code> List <String []> myList = new ArrayList <> (); myList.add (new String [] {"a", "b", "c"}); myList.add (new String [] {"d", "e", "f"}); myList.toArray (arrays); </code> </pre>Embora existam duas respostas excelentes explicando como fazer isso, sinto que falta outra resposta: na maioria dos casos, você não deve fazer nada.
As matrizes são complicadas; na maioria dos casos, é melhor usar a API de coleta .
Com Coleções, você pode adicionar e remover elementos e há Coleções especializadas para diferentes funcionalidades (pesquisa baseada em índice, classificação, exclusividade, acesso FIFO, simultaneidade etc.).
Embora seja bom e importante saber sobre Arrays e seu uso, na maioria dos casos, o uso de Coleções torna as APIs muito mais gerenciáveis (é por isso que novas bibliotecas como o Google Guava dificilmente usam Arrays).
Então, para o seu cenário, eu preferiria uma lista de listas, e eu a criaria usando Goiaba:
fonte
existe a classe que mencionei no comentário que fizemos com Sean Patrick Floyd: Eu fiz isso com um uso peculiar que precisa de WeakReference, mas você pode alterá-lo por qualquer objeto com facilidade.
Espero que isso possa ajudar alguém algum dia :)
Exemplo de como usar:
fonte