Fragmento de una conferencia con un mentor como parte del curso de Codegym University. Inscríbete al curso completo.


"¡Hola, amigo!"

"¡Hola, Ellie!"

"Hoy les contaré sobre una entidad nueva e interesante: los arreglos. Un arreglo es un tipo de datos que puede almacenar varios valores en lugar de uno solo".

Matrices - 1

"Comencemos con una analogía. Comparemos una casa y un edificio de apartamentos. Una casa normal suele estar ocupada por una sola familia, pero un edificio de apartamentos está dividido en muchos apartamentos. Para enviar una carta a una familia que vive en una casa, debe debe indicar la dirección única de la casa. Para enviar una carta a una familia que vive en un edificio de apartamentos, debe escribir la dirección única del edificio de apartamentos y el número de apartamento".

"Todo parece claro hasta ahora".

"Una variable de matriz es como una variable de edificio de apartamentos. Puede almacenar muchos valores en ella en lugar de solo uno. Dicha variable tiene varios apartamentos (elementos) a los que puede referirse usando un número de apartamento (índice). Para hacer esto, indique el índice del elemento de la matriz al que desea acceder entre corchetes después del nombre de la variable de la matriz. Es bastante simple".

—Eso espero, Ellie.

"Una variable de edificio de apartamentos (variable de matriz) puede contener elementos de cualquier tipo. Solo necesita escribir ' NombreTipo[] nombre_variable ' en lugar de ' NombreTipo nombre_variable '".

Aquí hay unos ejemplos:

Código Descripción
String[] list = new String[5];
Crear una Stringmatriz con 5elementos
System.out.println(list[0]);
System.out.println(list[1]);
System.out.println(list[2]);
System.out.println(list[3]);
System.out.println(list[4]);
Se mostrarán cinco valores ' nulos '.

Para acceder al valor de un elemento de matriz en particular, use corchetes y el índice del elemento.

int listCount = list.length;
listCountse le asignará el valor 5, que es el número de elementos de la listmatriz. almacena la longitud de la matriz (número de elementos).
list.length
list[1] = "Mom";
String s = list[1];
Al asignar objetos a los elementos de la matriz, debe indicar el índice del elemento entre corchetes.
for (int i = 0; i < list.length; i++)
{
     System.out.println(list[i]);
}
Muestra los valores de todos los elementos de la matriz en la pantalla.

"¡Que interesante!"

"Una variable de matriz requiere una inicialización adicional".

— ?

"Con una variable regular, puedes simplemente declararla y luego asignarle varios valores. Con una matriz, es un poco más complicado".

"Primero debe crear un contenedor que contenga N elementos, y solo entonces puede comenzar a colocar valores en el contenedor".

Código Descripción
String[] list = null;
La listvariable de matriz es nula . Solo puede almacenar una referencia a un contenedor para elementos. Debe crear el contenedor por separado.
String[] list = new String[5];
Cree un contenedor para 5elementos y asigne una referencia a la listvariable. Este contenedor tiene 5 apartamentos (elementos) numerados 0, 1, 2, 3 y 4.
String[] list = new String[1];
Cree un contenedor para 1el elemento y asigne una referencia a la listvariable. Para poner algo en este contenedor, escribiríamos algo comolist[0] = "Yo!";
String[] list = new String[0];
Cree un contenedor para 0elementos y asigne una referencia a la listvariable. No puedes almacenar nada en este contenedor.

"Ya veo. Ahora se está aclarando".

"Aquí hay algunos datos básicos sobre las matrices:"

1) Una matriz consta de muchos elementos.

2) Para acceder a un determinado elemento, indicas su número (índice).

3) Todos los elementos son del mismo tipo.

4) El valor inicial de todos los elementos es nulo; para arreglos de tipos primitivos, el valor inicial es 0, 0.0 (para números fraccionarios) o false (para valores booleanos). Es exactamente lo mismo que con las variables no inicializadas que no están en matrices.

5) La lista String[] simplemente declara una variable. Primero debe crear una matriz (contenedor), poner algo en él y solo luego usarlo (vea el ejemplo a continuación).

6) Cuando creamos un objeto de matriz (contenedor), debemos indicar su longitud o la cantidad de elementos. Hacemos esto usando el nuevo TypeName[n];

Matrices - 2

Aquí hay unos ejemplos:

Código Descripción
String s;
String[] list;
sigual a nulo
listigual a nulo
list = new String[10];
int n = list.length;
La listvariable almacena una referencia a un objeto: una matriz de 10 elementos de cadenas
n es igual a 10
list = new String[0];
Ahora listcontiene una 0matriz de elementos. La matriz existe, pero no puede almacenar cadenas.
list = null;
System.out.println(list[1]);
Esto generará una excepción (error de tiempo de ejecución) y el programa finalizará de manera anormal: listcontiene una referencia nula.
list = new String[10];
System.out.println(list[11]);
Esto generará una excepción (error de tiempo de ejecución): índice de matriz fuera de los límites.

Si listcontiene 10 elementos, los índices válidos son: 0,1,2,3,4,5,6,7,8 y 9 (para un total de 10 índices).