Arrays Escalonados
Parte da seção Lógica e Fluxo do Journey de Java da Coddy — lição 6 de 59.
Um array irregular é um tipo especial de array 2D onde cada linha pode ter um número diferente de colunas. Em outras palavras, é um array de arrays, e cada array “interno” pode ter um comprimento diferente. Isso é diferente de um array 2D regular, onde todas as linhas têm o mesmo número de colunas, formando uma forma retangular.
Arrays irregulares são úteis quando você precisa armazenar dados que não se encaixam perfeitamente em uma grade retangular. Por exemplo, você pode usar um array irregular para armazenar as palavras em cada frase de um parágrafo, onde cada frase tem um número diferente de palavras.
Aqui está como declarar e inicializar um array irregular em Java:
data_type[][] array_name = new data_type[number_of_rows][];
// Initialize each row with a different number of columns
array_name[0] = new data_type[number_of_columns_in_row_0];
array_name[1] = new data_type[number_of_columns_in_row_1];
// ... and so onObserve que quando você declara o array pela primeira vez, você especifica apenas o número de linhas. Em seguida, você inicializa cada linha separadamente, especificando o número de colunas para essa linha.
Desafio
FácilCrie um método chamado createJaggedArray que recebe um inteiro n como entrada e retorna um array irregular de inteiros. O array irregular deve ter a seguinte estrutura:
- A primeira linha deve ter 1 elemento.
- A segunda linha deve ter 2 elementos.
- A terceira linha deve ter 3 elementos.
- E assim por diante, até a linha
n, que deve ternelementos.
Inicialize cada elemento do array com o produto de seus índices de linha e coluna (começando de 1). Por exemplo, o elemento na segunda linha e primeira coluna deve ter o valor 2 * 1 = 2.
Folha de consulta
Um array irregular é um array 2D onde cada linha pode ter um número diferente de colunas, diferente dos arrays 2D regulares onde todas as linhas têm o mesmo comprimento.
Para declarar e inicializar um array irregular:
data_type[][] array_name = new data_type[number_of_rows][];
// Initialize each row with a different number of columns
array_name[0] = new data_type[number_of_columns_in_row_0];
array_name[1] = new data_type[number_of_columns_in_row_1];
// ... and so onAo declarar um array irregular, você especifica apenas o número de linhas inicialmente, depois inicializa cada linha separadamente com seu número específico de colunas.
Experimente você mesmo
// Escreva seu código apenas dentro da classe. Não escreva main() ou qualquer código fora desta classe.
class CreateJaggedArray {
public static int[][] createJaggedArray(int n) {
// Escreva seu código aqui
}
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Lógica e Fluxo
1Arrays Multidimensionais
Básicos de Arrays 2DAcessando Elementos de Arrays 2DLoops Aninhados com Arrays 2DResumo - Arrays 2DAdição e Subtração de MatrizesArrays EscalonadosArrays 3D e AlémPadrões Comuns de Arrays 2DResumo - Tudo Sobre Arrays2HashMap Parte 1
O que é um HashMap?Declarar um HashMapAcessando ValoresVerificar se a Chave ExisteModificando DicionáriosResumo - HashMap3HashMap Parte 2
Métodos do HashMapIterar com keySet()Iterar com entrySet()HashMap AninhadoResumo - Gerenciar ArmazémResumo - Operações do HashMap6Fluxo de Controle Avançado
Declarações RotuladasExpressão SwitchCorrespondência de PadrõesCláusulas de GuardaResumo - Fluxo de Controle9Projeto - Contador de Palavras Únicas
Entrada e Armazenamento de TextoProcessamento de Palavras