A matriz (Eng. array) é uma ferramenta poderosa que permite que você trabalhe com muitos dados. Obviamente, se você precisa armazenar, por exemplo, 100 valores no processo de trabalhar o seu código, então é pelo menos não razoável fazer o mesmo número de variáveis para esse propósito. A matriz permite que você armazene um grande número de valores com o mesmo nome e acesse-os no índice apropriado. A noção de arrays é a pedra angular do curso Java para iniciantes. Afinal, eles são a base para muitas estruturas de dados.
Como Java é, em primeiro lugar, OOP, porem comparação com arrays em outras linguagens de programação, a matriz java possui uma característica distintiva - eles são representados como objetos. Entre outras vantagens, isso elimina a necessidade de monitorar a limpeza da memória, uma vez que é liberado automaticamente.
Uma matriz unidimensional é representada pora matriz clássica de Java e é uma coleção de elementos relacionados que compartilham um nome comum, cada um dos quais corresponde a um índice específico. A maneira de declarar uma matriz é mostrada na figura abaixo.
Primeiro, o tipo de matriz Java é declarado, o quedetermina o tipo de valores armazenados nele. Este pode ser qualquer tipo de dados válido em Java. Em seguida, o nome da matriz e os colchetes que indicam ao compilador que esta variável é uma matriz. Preste atenção a um fato importante. Os colchetes podem ser definidos ambos após o tipo de base da matriz e depois do nome da matriz. Após o sinal de igual, o operador novo é introduzido, que inicia a alocação de memória para a matriz (assim como no caso de objetos), o tipo de elementos que serão armazenados nele (deve ser compatível com o tipo de base declarado anteriormente) e, finalmente, o número deles , indicado entre colchetes.
A numeração de elementos no array Java começa em 0. Portanto, o índice do primeiro elemento dessa matriz será 0 e o sexto elemento será 5. Para se referir a um elemento específico da matriz, por exemplo, à quinta, basta especificar o nome da matriz e o índice do elemento entre colchetes ao lado do nome. Assim, você pode atribuir um valor a um elemento ou recuperá-lo. No entanto, você deve ter cuidado, porque se você passar um índice no qual não há nenhum elemento, ocorrerá um erro.
Matrizes multidimensionais são sériesUnidimensional, referenciada por elementos de outras matrizes. Em outras palavras, essas são matrizes de matrizes. Os mais simples entre eles são os bidimensionais. No seu exemplo, vamos tentar entender o conceito. Para maior clareza, a figura abaixo mostra a sintaxe e o esquema que descrevem a estrutura de um array bidimensional.
Como você pode ver, a sintaxe não é muito diferente damatrizes unidimensionais. Vamos olhar a estrutura. Nos primeiros colchetes, alocamos um lugar para 5 elementos. Esses elementos nada mais são do que referências a matrizes individuais. O tamanho de cada um deles é determinado pelo número nos segundo colchetes. De fato, as matrizes são matematicamente análogas de matrizes bidimensionais. Observe que, além dos elementos, um local separado é alocado na memória, em que o valor do comprimento da matriz é armazenado. Como regra, o trabalho com matrizes multidimensionais é realizado por meio de loops aninhados.
Uma matriz bidimensional é uma matriz de matrizes. Nós já descobrimos. Mas as matrizes contidas nele podem ter comprimentos diferentes? A resposta é sim, eles podem. Para isso, o Java fornece a capacidade de declarar um array bidimensional de uma maneira especial. Por exemplo, queremos criar um array bidimensional que armazene três matrizes unidimensionais de comprimento 2, 3 e 4, respectivamente. É declarado da seguinte forma:
intarr [] [] = newint [3] [];
Por favor, note que nós não especificamos o número nos segundo colchetes. A definição do tamanho das matrizes em arr é feita assim:
arr [0] = novo int [2];
arr [1] = novo int [3];
arr [2] = newint [4];
Voltando ao elemento abaixo do subscrito 0, indicandona primeira matriz, declaramos isso com a dimensão 2. Um elemento com índice 1 armazenará uma matriz de dimensão 3 e assim por diante. É bem simples.
Você também pode inicializar matrizes diretamente quando você as cria. É bem simples.
Observe a declaração de matrizes jerseyNumber e playerName.
No caso de matrizes bidimensionais, esta declaração é semelhante a esta:
int [] [] arr = {
{1, 2, 3}
{4, 5, 6}
{7, 8, 9}
}
Para isso, em vez do operador novo,chaves, em que uma lista de todos os elementos é passada através de uma vírgula. Nesse caso, o Java aloca memória para eles e os indexa de acordo.
Para trabalhar com entidades como matrizes emJava, no pacote java.util, há uma classe especial Arrays, que fornece muitos métodos estáticos que facilitam muito as operações com eles. A lista de métodos básicos é mostrada na figura abaixo.
Vamos examinar alguns dos métodos de array Java mais úteis:
- copyOf (array, length) - retorna uma cópiatransmitida comprimento da matriz correspondente. Se transmitido é maior do que a matriz original, em seguida, todos os elementos "extras" são preenchidos com o valor padrão (0 se o tipo de simples, e nulo, se a referência).
- copyOfRange (array, primeiro índice, últimoíndice) - não indicado na figura, mas um método útil. Ele copia a parte da matriz transmitida, determinada pelos índices correspondentes, do primeiro ao último.
- sort (array) - ordena os elementos do array em ordem crescente.
- fill (array, value) - preenche o array transmitido com o valor apropriado.
- binarySearch (array, value) - retornaO índice sob o qual o elemento com o valor correspondente está na matriz classificada transmitida. Se não houver esse elemento, um número negativo será retornado.
Como os métodos são estáticos, você não precisa instanciar uma classe Arrays para chamá-los. Eles são chamados diretamente dele: Arrays.sort (arr).
Examinamos os aspectos mais importantesNo que diz respeito às matrizes, e para aqueles que estão apenas começando a aprender Java para iniciantes, isso é suficiente para uma compreensão básica de uma entidade como uma matriz e as técnicas básicas para trabalhar com ela. Naturalmente, a prática dará mais compreensão do trabalho desta ferramenta. Portanto, não seja muito preguiçoso para fazer alguns exercícios, manipulando matrizes de várias maneiras.
A classe auxiliar Java Array já é usada em condições de "combate", portanto, para iniciantes, é recomendável aprender a executar manualmente todas as operações básicas com matrizes.
</ p>