Como concatenar duas arraias em Java

Asad Riaz 12 outubro 2023
  1. ArrayUtil.addAll() Método para concatenar duas arrays em Java
  2. arraycopy() Método para Concatenar Duas Arrays em Java
  3. Incremental Método para Concatenar Arrays em Java
Como concatenar duas arraias em Java

Neste tutorial, veremos como concatenar duas arrays em Java. Isto pode ser feito usando métodos diferentes, dependendo da necessidade. Em alguns casos, o usuário precisa realizar a duplicação também antes de fundir arrays; como por exigência.

ArrayUtil.addAll() Método para concatenar duas arrays em Java

O primeiro método é ArrayUtil.addAll(). Ele pega os valores de arrays e os funde em um só. Como este método é commons de apache; portanto, para utilizar este método, o método apache.commons.lang3 precisa ser importado primeiro para o compilador.

Códigos de exemplo:

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));
  }
}

Resultado:

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 Duas Arrays em Java

Outro método para concatenar duas arrays em Java é o método arraycopy(). Este método pega os valores das arrays e os funde em uma só. O exemplo abaixo mostra como isto pode ser feito para arrays inteiros.

Códigos de exemplo:

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));
  }
}

Resultado:

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 em Java

Outro método para realizar a concatenação de arrays é utilizar o método incremental, que é um código manual utilizando o laço for. Ele trabalha no posicionamento de valores dentro de arrays individuais a serem colocadas sequencialmente dentro da concatenada. O método abaixo mostra o funcionamento de arrays inteiros.

Códigos de exemplo:

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));
  }
}

Resultado:

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]

Artigo relacionado - Java Array