Matrices en Java
โก Resumen inteligente
Matrices en Java Son contenedores de tamaรฑo fijo, basados โโen รญndices, que almacenan elementos de un mismo tipo de datos en memoria contigua, lo que proporciona acceso en tiempo constante, comprobaciรณn de lรญmites integrada y un campo de longitud que los convierte en la base de la mayorรญa de las colecciones de bibliotecas estรกndar.

ยฟQue es un Java ยฟFormaciรณn?
A Java matriz es una estructura de tamaรฑo fijo que almacena elementos de un tipo de datos en memoria contigua. A cada elemento se accede mediante un รญndice basado en cero, por lo que el primero se encuentra en 0 y el รบltimo en length - 1. Los arreglos heredan de Object e implementar Serializable y Cloneabley puede contener tipos primitivos o referencias a objetos.
Los arreglos reemplazan largas secuencias de variables numeradas. Consideremos seis nรบmeros enteros independientes:
x0 = 0; x1 = 1; x2 = 2; x3 = 3; x4 = 4; x5 = 5;
Los mismos seis valores residen en un รบnico array de longitud seis:
x[0] = 0; x[1] = 1; x[2] = 2; x[3] = 3; x[4] = 4; x[5] = 5;
A loops La variable puede controlar el รญndice entre corchetes, por lo que tres lรญneas procesan cada elemento en lugar de seis copias:
for (int count = 0; count < 5; count++) { System.out.println(x[count]); }
Tipos de matriz en Java
Java Los arreglos vienen en dos formas:
- Matriz unidimensional: una lista plana de elementos.
- Matriz multidimensional: una matriz de matrices, utilizada para cuadrรญculas y matrices.
Variables de matriz: Declaraciรณn, construcciรณn e inicializaciรณn
Usar una matriz es una proceso de tres pasos: declarar, construir con new, luego inicializar.
1) Declarar el array
Sintaxis:
<elementType>[] <arrayName>;
or (el formato antiguo estilo C, todavรญa vรกlido):
<elementType> <arrayName>[];
Ejemplo:
int[] intArray; // canonical form: brackets on the type int intArray2[]; // legacy C-style form, discouraged in new code
2) Construir el arreglo
Sintaxis:
arrayName = new dataType[size];
Ejemplo:
intArray = new int[10]; // defines that intArray will store 10 integer values
Declaraciรณn y construcciรณn combinadas:
int[] intArray = new int[10];
3) Inicializar el array
intArray[0] = 1; // assigns 1 to the first element (index 0) intArray[1] = 2; // assigns 2 to the second element (index 1)
Declarar e inicializar en un solo paso. utilizando un 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.
Primer programa de arreglos en Java
Paso 1) Copia el siguiente cรณdigo en un 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; } }
Paso 2) Guarda, compila y ejecuta el cรณdigo. Observa el resultado.
Rendimiento esperado:
array[0] = 1 array[1] = 2 array[2] = 3 array[3] = 4 array[4] = 5 array[5] = 6 array[6] = 7
Paso 3) If x es una referencia a un array, x.length Devuelve su nรบmero de ranuras. Descomente la primera lรญnea comentada y vuelva a ejecutar:
Length of Array = 7
Paso 4) A diferencia de C, Java realiza comprobaciones de lรญmites en cada acceso a la matriz. Descomente la segunda lรญnea comentada y vuelva a ejecutar:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8 at ArrayDemo.main(ArrayDemo.java:11) Command exited with non-zero status 1
Paso 5) La JVM lanza ArrayIndexOutOfBoundsExceptionEn C, el mismo acceso devolverรญa basura de la memoria adyacente en lugar de fallar.
Java Array: Paso por referencia
Los arrays se pasan a los mรฉtodos por referencia. El mรฉtodo recibe una copia de la referencia, por lo que los cambios realizados en los elementos dentro del mรฉtodo son visibles para quien lo llama.
Ejemplo: los arreglos se pasan por referencia.
Paso 1) Copia el siguiente cรณdigo en un 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]); } }
Paso 2) Guarda, compila y ejecuta el cรณdigo. Observa el resultado.
Rendimiento esperado:
Before Function Call Apple After Function Call Changed
Matrices multidimensionales en Java
Las matrices multidimensionales son matrices de matrices. Aรฑada otro conjunto de corchetes para cada dimensiรณn. Para crear una cuadrรญcula entera bidimensional con cuatro filas y cinco columnas:
int[][] twoD = new int[4][5];
Solo necesitas dimensionar la primera dimensiรณn (la de mรกs a la izquierda) al principio. Las dimensiones restantes se pueden asignar por separado, y cada fila puede tener su propia longitud, lo que hace que Java Matrices 2D verdaderas matrices irregulares.
Ejemplo:
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] + " "); } }
Rendimiento esperado:
1
