Cómo concatenar dos matrices en Java

  1. ArrayUtil.addAll() método para concatenar dos arrays en Java
  2. arraycopy() método para concatenar dos arrays en Java
  3. Incremental método para concatenar arrays en Java

En este tutorial, veremos cómo concatenar dos arrays en Java. Esto se puede hacer usando diferentes métodos dependiendo de los requerimientos. En algunos casos, el usuario necesita realizar la duplicación también antes de fusionar los arrays; según el requerimiento.

ArrayUtil.addAll() método para concatenar dos arrays en Java

El primer método es ArrayUtil.addAll(). Toma los valores de los arrays y los fusiona en uno. Dado que este método es el común de apache; por lo tanto, para usar este método, el método apache.commons.lang3 necesita ser importado primero en el compilador.

Considere el siguiente código:

import java.util.Arrays;
import org.apache.commons.lang3.ArrayUtils;

public class SimpleTesting {
    public static void main(String[] args) {
        int[] Array1 = new int[]{00,10,20,30,40,50};
        int[] Array2 = new int[]{60,70,80,90,100};
        int[] Concate = ArrayUtils.addAll(Array1, Array2);
        System.out.println("Array1: " + Arrays.toString(Array1));
        System.out.println("Array2: " + Arrays.toString(Array2));
        System.out.println("Concatenated Array: " + Arrays.toString(Concate)); 
    }
}

Producción:

Array1: [0, 10, 20, 30, 40, 50]
Array2: [60, 70, 80, 90, 100]
Concatenated Array: [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

arraycopy() método para concatenar dos arrays en Java

Otro método para concatenar dos matrices en Java es el método arraycopy(). Este método toma los valores de los arrays y los fusiona en uno. El siguiente ejemplo muestra cómo se puede hacer esto para matrices de números enteros.

Considera el siguiente código:

import java.util.Arrays;

public class SimpleTesting {
    public static void main(String[] args)  {
        int[] Array1 = {00,10,20,30,40,50};
        int[] Array2 = {60,70,80,90,100};
        int lenArray1 = Array1.length;
        int lenArray2 = Array2.length;
        int[] concate = new int[lenArray1 + lenArray2];
        System.arraycopy(Array1, 0, concate, 0, lenArray1);  
        System.arraycopy(Array2, 0, concate, lenArray1, lenArray2);  
        System.out.println("Array1: " + Arrays.toString(Array1));
        System.out.println("Array2: " + Arrays.toString(Array2));
        System.out.println("Concatenated Array: " + Arrays.toString(concate)); 
    }  
}  

Producción:

Array1: [0, 10, 20, 30, 40, 50]
Array2: [60, 70, 80, 90, 100]
Concatenated Array: [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

Incremental método para concatenar arrays en Java

Otro método para realizar la concatenación de arrays es usar el método incremental que es un código manual usando el bucle for. Trabaja en el posicionamiento de los valores dentro de los arrays individuales para ser colocados secuencialmente dentro del concatenado. El siguiente método muestra el funcionamiento de los arrays de números enteros.

Considere el siguiente código:

import java.util.Arrays;

public class SimpleTesting {  
    public static void main(String[] args)  {
        int[] Array1 = {00,10,20,30,40,50};
        int[] Array2 = {60,70,80,90,100};
        int len = Array1.length + Array2.length;
        int[] Concate = new int[len];
        int position = 0;
        for (int object : Array1)
        {
            Concate[position] = object;
            position++;
        }
        for (int object : Array2)
        {
            Concate[position] = object;
            position++;
        }
        System.out.println("Array1: " + Arrays.toString(Array1));
        System.out.println("Array2: " + Arrays.toString(Array2));
        System.out.println("Concatenated Array: " + Arrays.toString(Concate)); 
    }  
} 

Producción:

Array1: [0, 10, 20, 30, 40, 50]
Array2: [60, 70, 80, 90, 100]
Concatenated Array: [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

Artículo relacionado - Java Array

  • Cómo convertir una matriz de bytes en una cadena hexagonal en Java
  • comments powered by Disqus