in

¿Cómo declaro e inicializo una matriz en Java?

apple touch icon@2

Toma el tipo primitivo int por ejemplo. Hay varias formas de declarar y int formación:

int[] i = new int[capacity];
int[] i = new int[] {value1, value2, value3, etc};
int[] i = {value1, value2, value3, etc};

donde en todos estos, puede usar int i[] en lugar de int[] i.

Con la reflexión, puedes usar (Type[]) Array.newInstance(Type.class, capacity);

Tenga en cuenta que en los parámetros del método, ... indica variable arguments. Básicamente, cualquier número de parámetros está bien. Es más fácil de explicar con código:

public static void varargs(int fixed1, String fixed2, int... varargs) {...}
...
varargs(0, "", 100); // fixed1 = 0, fixed2 = "", varargs = {100}
varargs(0, "", 100, 200); // fixed1 = 0, fixed2 = "", varargs = {100, 200};

Dentro del método, varargs es tratado como un normal int[]. Type... solo se puede usar en los parámetros del método, por lo que int... i = new int[] {} no se compilará.

Tenga en cuenta que al pasar un int[] a un método (o cualquier otro Type[]), no puede utilizar la tercera vía. En la declaración int[] i = *{a, b, c, d, etc}*, el compilador asume que el {...} significa un int[]. Pero eso se debe a que está declarando una variable. Al pasar una matriz a un método, la declaración debe ser new Type[capacity] o new Type[] {...}.

Las matrices multidimensionales son mucho más difíciles de manejar. Básicamente, una matriz 2D es una matriz de matrices. int[][] significa una matriz de int[]s. La clave es que si un int[][] se declara como int[x][y], el índice máximo es i[x-1][y-1]. Esencialmente, un rectangular int[3][5] es:

[0, 0] [1, 0] [2, 0]
[0, 1] [1, 1] [2, 1]
[0, 2] [1, 2] [2, 2]
[0, 3] [1, 3] [2, 3]
[0, 4] [1, 4] [2, 4]

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

make – Comando Unix, Linux

gfg 200x200 min

Variables en Java – GeeksforGeeks