¿Cómo inicializar una matriz en Java?

Una matriz es una estructura de datos en Java que se utiliza para almacenar objetos de datos que tienen el mismo tipo de datos. Todos y cada uno de los elementos de una matriz tienen un valor de índice único. En una matriz, primero tenemos que declarar su tamaño y el tamaño de la matriz es fijo. En una matriz, podemos almacenar elementos de diferentes tipos de datos como números enteros, cadenas, fechas, etc. En este artículo, analizaremos diferentes formas de declarar e inicializar una matriz.

Declarar una matriz en Java

Una matriz se declara utilizando su tipo de datos e identificador. En Java, las matrices se declaran de manera similar a como se declaran otras variables, pero se agrega un corchete adicional [] cuando declaramos una matriz.

Sintaxis:

int arr []; int [] arr; 

Aquí, el tamaño de la matriz no se menciona porque se crea una referencia de una matriz en la memoria. También puede conocerse como dirección de memoria de una matriz.

¿Cómo inicializar una matriz en Java?

Después de declarar una matriz, tenemos que inicializarla con valores como tenemos que hacerlo con otras variables. En una matriz, tenemos que asignar múltiples valores, por lo que el proceso de inicialización no es tan simple como el de las variables. Podemos inicializar una matriz con valores predeterminados o no predeterminados. A continuación se muestran diferentes métodos para inicializar una matriz:

  • Inicializar una matriz con valores predeterminados
  • Inicializar una matriz con valores no predeterminados
  • Inicializar una matriz usando llaves {}
  • Inicialización usando la interfaz de flujo

Inicializar una matriz con valores predeterminados

En Java, una matriz se puede inicializar con valores predeterminados cuando el tamaño de la matriz se declara entre corchetes rectangulares [].

int [] arr = new int[20]; 

En el código anterior, se declara una matriz de tamaño 20 donde el tipo de datos es un número entero. Los diferentes tipos de datos tienen diferentes valores predeterminados que se inicializan en el momento de la declaración. Para una matriz de tipo entero, el valor predeterminado es 0, falso es el valor predeterminado para una matriz de tipo booleano y una cadena vacía es el valor predeterminado para una matriz de tipo cadena.

Inicializar una matriz con valores no predeterminados

En Java, también podemos inicializar una matriz con valores particulares. Para eso, necesitamos inicializar cada valor uno por uno. Pero este método solo es útil para matrices de tamaño pequeño, no para matrices de tamaño grande. Para matrices de gran tamaño, tenemos que usar un bucle para inicializar valores no predeterminados.

En el siguiente ejemplo, se declara una matriz de tipo entero de tamaño 6 y luego se inicializan en ella 6 valores no predeterminados.

int[] arr = new int[6]; arr[0] = 8; arr[1] = 6; arr[2] = 4; arr[3] = 2; arr[4] = 1; arr[5] = 9; 

Inicializar una matriz usando llaves {}

Una matriz también se puede inicializar usando llaves donde no tenemos que declarar el tamaño de la matriz. Todos los valores no predeterminados se inicializan entre llaves que están separadas por una coma.

En el siguiente ejemplo, una matriz de tipo cadena se inicializa con valores no predeterminados utilizando llaves.

String[] arrStr = {'Geeks', 'of', 'Geeks'}; 

Inicialización usando la interfaz de flujo

Una matriz se puede inicializar utilizando una interfaz de flujo que genera un flujo de valores y luego se convierte en una matriz. A continuación se muestran tres interfaces instream que se utilizan para inicializar una matriz de tipo entero.

  • IntStream.rango()
  • IntStream.rangeClosed()
  • IntStream.of()

1. IntStream.rango()

Se utiliza para inicializar una serie de números enteros dentro de un rango determinado. El primer parámetro del rango será el primer elemento de la matriz y los demás elementos de la matriz serán mayores que ese elemento pero menores que el segundo parámetro del rango.

2. IntStream.rangeClosed()

También podemos usar rangoCerrado() en lugar de rango() si queremos agregar el último elemento del rango en una matriz. El primer parámetro en el rangoCerrado() El método será el primer elemento de la matriz y los demás elementos de la matriz serán mayores que ese elemento pero menores e iguales que el segundo parámetro de la matriz. rangoCerrado() método.

3. IntStream.of()

Este método funciona de manera similar a las llaves donde tenemos que mencionar todos y cada uno de los elementos individualmente que queremos asignar a la matriz. En el siguiente código, asignamos valores a la matriz utilizando estas tres interfaces.

Ejemplo:

Java




// Java program to demonstrate different ways of> // initializing an integer array.> import> java.util.stream.IntStream;> > // Driver Clas> public> class> Main {> > // Main function> > public> static> void> main(String[] args)> > {> > > // an array of integers using IntStream.range()> > // method> > int> [] arr1 = IntStream.range(> 1> ,> 5> ).toArray();> > for> (> int> i => 0> ; i System.out.print(arr1[i] + ' '); } System.out.print(' '); // an array of integers using // IntStream.rangeClosed() method int[] arr2 = IntStream.rangeClosed(1, 4).toArray(); for (int i = 0; i System.out.print(arr2[i] + ' '); } System.out.print(' '); // an array of integers using IntStream.of() // method int[] arr3 = IntStream.of(1, 2, 3, 4).toArray(); for (int i = 0; i System.out.print(arr3[i] + ' '); } } }>

Producción

1 2 3 4 1 2 3 4 1 2 3 4