Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Jagged Array

Pelo que entendi, um array sempre tem que ter seu tamanho definido (fixo) ao inicializá-lo.

Entretanto, para arrays multidimensionais encontrei uma referência a um tipo de array chamado de Jagged Array ou Ragged Array (https://en.wikipedia.org/wiki/Jagged_array e http://stackoverflow.com/documentation/java/99/arrays/496/multidimensional-and-jagged-arrays), em que apenas o tamanho da primeira dimensão é necessária:

int [][] a = new int[5][];

Não entendi como para arrays multidimensionais, o tamanho dos outros arrays (a partir da segunda dimensão) não precisam ser definidos, já que a alocação de espaço do array é definida no momento de sua inicialização e necessariamente deve ser fixo.

Sem definir o tamanho da dimensão 2 em diante, eu posso a qualquer tempo definir um novo array de qualquer tamanho para estas dimensões, algo como:

a[0] = new int[10];
a[0] = new int[15];

Inclusive, eu posso fazer algo como:

int[][][] a = new int[5][][];

a[0] = new int[10][];
a[1] = new int[15][];

Vocês podem explicar melhor isso, por favor?

1 resposta
solução!

Oi Daniel,

É pq vc está criando um array de arrays. Você foi obrigado a definir o tamanho da primeira dimensão. Aí agora, para cada posição da primeira dimensão você pode definir um novo array e por aí vai. Basicamente a lógica continua a mesma, apenas é um pouco estranho :).

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software