Matrizes em Java
⚡ Resumo Inteligente
Matrizes em Java São contêineres de tamanho fixo, baseados em índices, que armazenam elementos de um tipo de dados em memória contígua, proporcionando acesso em tempo constante, verificação de limites integrada e um campo de comprimento, o que os torna a base da maioria das coleções da biblioteca padrão.
O que é uma Java Variedade?
A Java ordem É uma estrutura de tamanho fixo que armazena elementos de um mesmo tipo de dado em memória contígua. Cada elemento é acessado por um índice baseado em zero, portanto, o primeiro elemento está localizado em 0 e o último em length - 1Os arrays herdam de Object e implementar Serializable e Cloneablee pode conter primitivas ou referências a objetos.
Os arrays substituem longas sequências de variáveis numeradas. Considere seis inteiros independentes:
x0 = 0; x1 = 1; x2 = 2; x3 = 3; x4 = 4; x5 = 5;
Os mesmos seis valores residem em um único array de comprimento seis:
x[0] = 0; x[1] = 1; x[2] = 2; x[3] = 3; x[4] = 4; x[5] = 5;
A laço A variável pode controlar o índice entre parênteses, de forma que três linhas processem cada elemento em vez de seis cópias:
for (int count = 0; count < 5; count++) { System.out.println(x[count]); }
Tipos de Array em Java
Java Os arrays podem ter dois formatos:
- Matriz unidimensional: Uma lista simples de elementos.
- Matriz multidimensional: Uma matriz de matrizes, usada para grades e matrizes.
Variáveis de matriz: Declaração, construção e inicialização
Usar um array é um três passo processo: declarar, construir com new, então inicialize.
1) Declare o Array
Sintaxe:
<elementType>[] <arrayName>;
or (o formato C mais antigo, ainda válido):
<elementType> <arrayName>[];
Exemplo:
int[] intArray; // canonical form: brackets on the type int intArray2[]; // legacy C-style form, discouraged in new code
2) Construir o Array
Sintaxe:
arrayName = new dataType[size];
Exemplo:
intArray = new int[10]; // defines that intArray will store 10 integer values
Declaração e construção combinadas:
int[] intArray = new int[10];
3) Inicialize o array
intArray[0] = 1; // assigns 1 to the first element (index 0) intArray[1] = 2; // assigns 2 to the second element (index 1)
Declare e inicialize em uma única etapa usando um literal de matriz:
int[] intArray = {1, 2, 3, 4}; // initialises an integer array of length 4 where the first element is 1, // the second element is 2, and so on.
Primeiro programa de matriz em Java
Passo 1) Copie o seguinte código para um editor:
class ArrayDemo { public static void main(String args[]) { int array[] = new int[7]; for (int count = 0; count < 7; count++) { array[count] = count + 1; } for (int count = 0; count < 7; count++) { System.out.println("array[" + count + "] = " + array[count]); } // System.out.println("Length of Array = " + array.length); // array[8] = 10; } }
Passo 2) Salve, compile e execute o código. Observe o resultado.
Resultado esperado:
array[0] = 1 array[1] = 2 array[2] = 3 array[3] = 4 array[4] = 5 array[5] = 6 array[6] = 7
Passo 3) If x é uma referência de matriz, x.length Retorna a contagem de slots. Descomente a primeira linha comentada e execute novamente:
Length of Array = 7
Passo 4) Ao contrário de C, Java Verifica os limites de cada acesso à matriz. Remova o comentário da segunda linha comentada e execute novamente:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8 at ArrayDemo.main(ArrayDemo.java:11) Command exited with non-zero status 1
Passo 5) A JVM lança uma exceção. ArrayIndexOutOfBoundsExceptionEm C, o mesmo acesso retornaria lixo da memória adjacente em vez de falhar.
Java Array: Passagem por Referência
Os arrays são passados para os métodos por referência. O método recebe uma cópia da referência, portanto, as alterações nos elementos feitas dentro do método são visíveis para quem o chamou.
Exemplo: arrays são passados por referência.
Passo 1) Copie o seguinte código para um editor:
class ArrayDemo { public static void passByReference(String a[]) { a[0] = "Changed"; } public static void main(String args[]) { String[] b = {"Apple", "Mango", "Orange"}; System.out.println("Before Function Call " + b[0]); ArrayDemo.passByReference(b); System.out.println("After Function Call " + b[0]); } }
Passo 2) Salve, compile e execute o código. Observe o resultado.
Resultado esperado:
Before Function Call Apple After Function Call Changed
Matrizes multidimensionais em Java
Matrizes multidimensionais são matrizes de matrizes. Adicione um novo conjunto de colchetes para cada dimensão. Para criar uma grade de inteiros bidimensional com quatro linhas e cinco colunas:
int[][] twoD = new int[4][5];
Você só precisa definir o tamanho da primeira dimensão (a da esquerda) antecipadamente. As dimensões restantes podem ser alocadas separadamente, e cada linha pode ter seu próprio comprimento, tornando-se... Java Matrizes 2D verdadeiras matrizes irregulares.
Exemplo:
public class Guru99 { public static void main(String[] args) { // Create a 2-dimensional array with 4 rows and 4 columns. int[][] twoD = new int[4][4]; // Assign three elements to it. twoD[0][0] = 1; twoD[1][1] = 2; twoD[3][2] = 3; System.out.print(twoD[0][0] + " "); } }
Resultado esperado:
1

