Programa Java para concatenar dos matrices

En este programa, aprenderá a concatenar dos matrices en Java usando arraycopy y sin ella.

Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación de Java:

  • Matrices de Java
  • Java para cada bucle

Ejemplo 1: Concatenar dos matrices usando arraycopy

 import java.util.Arrays; public class Concat ( public static void main(String() args) ( int() array1 = (1, 2, 3); int() array2 = (4, 5, 6); int aLen = array1.length; int bLen = array2.length; int() result = new int(aLen + bLen); System.arraycopy(array1, 0, result, 0, aLen); System.arraycopy(array2, 0, result, aLen, bLen); System.out.println(Arrays.toString(result)); ) )

Salida

 (1, 2, 3, 4, 5, 6)

En el programa anterior, tenemos dos matrices de enteros array1 y array2.

Para combinar (concatenar) dos matrices, encontramos su longitud almacenada en aLen y bLen respectivamente. Luego, creamos un nuevo resultado de matriz de enteros con longitud aLen + bLen.

Ahora, para combinar ambos, copiamos cada elemento en ambos arreglos para obtener el resultado usando arraycopy()function.

La arraycopy(array1, 0, result, 0, aLen)función, en términos simples, le dice al programa que copie array1 comenzando desde el índice 0hasta el resultado desde el índice 0hasta aLen.

Del mismo modo, for arraycopy(array2, 0, result, aLen, bLen)le dice al programa que copie array2 comenzando desde el índice 0hasta el resultíndice aLen hasta bLen.

Ejemplo 2: concatenar dos matrices sin utilizar arraycopy

 import java.util.Arrays; public class Concat ( public static void main(String() args) ( int() array1 = (1, 2, 3); int() array2 = (4, 5, 6); int length = array1.length + array2.length; int() result = new int(length); int pos = 0; for (int element : array1) ( result(pos) = element; pos++; ) for (int element : array2) ( result(pos) = element; pos++; ) System.out.println(Arrays.toString(result)); ) )

Salida

 (1, 2, 3, 4, 5, 6)

En el programa anterior, en lugar de usar arraycopy, copiamos manualmente cada elemento de las matrices array1 y array2 al resultado.

Almacenamos la longitud total requerida para el resultado, es decir array1.length + array2. length. Luego, creamos un nuevo resultado de matriz de la longitud.

Ahora, usamos el ciclo for-each para iterar a través de cada elemento de array1 y almacenarlo en el resultado. Después de asignarlo, aumentamos la posición pos por 1, pos++.

Asimismo, hacemos lo mismo para array2 y almacenamos cada elemento en el resultado comenzando desde la posición después de array1.

Articulos interesantes...