2d Array em Java

2d Array em Java
Em Java, uma matriz unidimensional é um conjunto consecutivo de valores do mesmo tipo. O tipo de valores é o tipo de matriz. Uma matriz 1D é um objeto da superclasse do objeto. Uma matriz 1D é uma lista. Neste artigo, assume-se que a lista para a matriz unidimensional seja exibida em uma coluna vertical. Uma matriz 1D tem o comprimento da propriedade, que retorna o número de elementos na matriz.

Uma matriz bidimensional é uma tabela. Uma tabela é uma lista vertical de listas horizontais. Em Java, uma matriz bidimensional é uma variedade de matrizes. Isto é, uma matriz 2D é uma matriz vertical de matrizes horizontais. Ou seja, uma matriz 2D em Java é uma lista vertical de listas horizontais. A matriz 2D tem linhas e colunas. O comprimento da matriz 2D é o número de linhas, que é a propriedade de comprimento da matriz de coluna 1D. Todos os valores em todas as células da tabela são do mesmo tipo; Diz -se que este é o tipo de matriz 2D.

Este artigo explica que é uma matriz 2D em Java e como criar e acessar seus elementos. Todo o código para este artigo ocorre no método principal ().

Criando uma matriz bidimensional

Uma matriz 1D de chars, sem inicialização e sem o comprimento indicada, é declarada da seguinte maneira:

char [] AR;

AR é o nome da matriz 1D. Uma matriz 2D nas mesmas condições seria declarada da seguinte maneira:

char [] [] arr;

arr é o nome da matriz 2D. O comprimento e a largura desta matriz ainda precisam ser indicados. O seguinte segmento de código ilustra o seguinte:

char [] [] arr;
arr = novo char [4] [5];

A primeira declaração tem dois pares de colchetes: a primeira é para as linhas, e a segunda é para as colunas. A segunda declaração também possui dois pares de colchetes com números. O primeiro tem o número de linhas e o segundo tem o número de colunas. ARR, aqui está uma tabela de 4 linhas e 5 colunas, onde cada célula tem o valor padrão de char.

Substituindo os valores padrão por valores práticos

Para a matriz 1D, AR de chars acima, um comprimento de 4 pode ser dado com:

char [] AR;
AR = novo char [4];

e os valores de char padrão para esta matriz 1D, podem ser substituídos por:

ar [0] = 'k';
ar [1] = 'k';
ar [2] = 'k';
ar [3] = 'k';

Para a matriz 2D, uma coisa semelhante acontece, mas com dois pares de colchetes quadrados. O primeiro par é para o número da linha e o segundo par é para o número da coluna. A contagem de índice para linhas e colunas começa de zero. Então, para a matriz 2D,

char [] [] arr;
arr = novo char [4] [5];

Os valores de char padrão podem ser substituídos por:

arr [0] [0] = 'k'; arr [0] [1] = 'l'; arr [0] [2] = 'm'; arr [0] [3] = 'n'; arr [0] [4] = 'O';
arr [1] [0] = 'k'; arr [1] [1] = 'l'; arr [1] [2] = 'm'; arr [1] [3] = 'n'; arr [1] [4] = 'O';
arr [2] [0] = 'k'; arr [2] [1] = 'l'; arr [2] [2] = 'm'; arr [2] [3] = 'n'; arr [2] [4] = 'O';
arr [3] [0] = 'k'; arr [3] [1] = 'l'; arr [3] [2] = 'm'; arr [3] [3] = 'n'; arr [3] [4] = 'O';

Lendo os valores de uma matriz 2D

Um loop para aninhados pode ser usado para ler todos os valores de uma matriz bidimensional. O seguinte loop aninhado, lê todos os valores da matriz 2D acima, Row por fila:

para (int i = 0; i<4; i++)
for (int j = 0; j<5; j++)
Sistema.fora.impressão (arr [i] [j]); Sistema.fora.imprimir(");

Sistema.fora.println ();

A saída é:

K l m n o
K l m n o
K l m n o
K l m n o

Eu sou para as linhas; j é para as colunas. Cada elemento é acessado com, arr [i] [j].

Declaração de matriz 2D com inicialização

Uma matriz 2D pode ser declarada e inicializada com valores práticos, ao mesmo tempo. Uma maneira de fazer isso, para a matriz acima, é:

char [] [] arr = novo char [] []
'K', 'l', 'm', 'n', 'o',
'K', 'l', 'm', 'n', 'o',
'K', 'l', 'm', 'n', 'o',
'K', 'l', 'm', 'n', 'o'
;

Observe que os números para o comprimento e largura da matriz foram omitidos, como a matriz 2D inicializadora, tem o comprimento e a largura implicitamente. A outra maneira de alcançar a declaração e a inicialização, omite “novo char [] []”; aquilo é:

char [] [] arr =
'K', 'l', 'm', 'n', 'o',
'K', 'l', 'm', 'n', 'o',
'K', 'l', 'm', 'n', 'o',
'K', 'l', 'm', 'n', 'o'
;

Comprimento e largura para uma matriz regular 2D

Uma declaração pode ter o comprimento e a largura da seguinte forma:

char [] [] arr = novo char [4] [5];

O comprimento (altura) é 4 e a largura é 5. Uma matriz neste estado consiste em 4 x 5 células de valores padrão de char. Isso é um pouco uma matriz de 4 células, onde cada célula tem cinco células. A célula de nidificação não é codificada, tornando -a uma matriz de cinco linhas. Com esta declaração, a propriedade de comprimento da matriz (campo) fornece o número de linhas, como ilustra o segmento de código a seguir:

char [] [] arr = novo char [4] [5];
int len ​​= arr.comprimento;
Sistema.fora.println (len);

A saída é 4. Como a propriedade de comprimento retorna apenas o número de linhas, o número de colunas ou largura deve ser pré-concebido.

O seguinte loop aninhado usa a propriedade Length, para exibir os valores da tabela:

para (int i = 0; ifor (int j = 0; j<5; j++)
Sistema.fora.impressão (arr [i] [j]); Sistema.fora.imprimir(");

Sistema.fora.println ();

arr.o comprimento resulta no número de linhas. O número de colunas, 5, foi pré-concebido.

Conclusão

Uma matriz bidimensional é uma variedade de matrizes. É uma tabela de linhas e colunas. É codificado como várias linhas. Java tem uma sintaxe especial para criar uma matriz 2D. Todos os valores da matriz 2D são do mesmo tipo, que também é conhecido como o tipo de matriz. O manuseio da matriz 2D é caracterizado por pares consecutivos de suportes quadrados. Para codificar uma matriz 2D em Java, não há necessidade de importar a classe de matriz.