Programma Java per concatenare due array

In questo programma imparerai a concatenare due array in Java usando arraycopy e senza di esso.

Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione Java:

  • Array Java
  • Java per ogni ciclo

Esempio 1: concatenare due array utilizzando 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)); ) )

Produzione

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

Nel programma sopra, abbiamo due array di interi array1 e array2.

Per combinare (concatenare) due array, troviamo la sua lunghezza memorizzata rispettivamente in aLen e bLen. Quindi, creiamo un nuovo risultato di array intero con lunghezza aLen + bLen.

Ora, per combinare entrambi, copiamo ogni elemento in entrambi gli array nel risultato usando la arraycopy()funzione.

La arraycopy(array1, 0, result, 0, aLen)funzione, in termini semplici, dice al programma di copiare array1 partendo da index 0a result da index 0ad aLen.

Allo stesso modo, for arraycopy(array2, 0, result, aLen, bLen)dice al programma di copiare array2 a partire da index 0a resultda index aLen a bLen.

Esempio 2: concatenare due array senza utilizzare 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)); ) )

Produzione

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

Nel programma sopra, invece di utilizzare arraycopy, copiamo manualmente ogni elemento di entrambi gli array array1 e array2 nel risultato.

Memorizziamo la lunghezza totale richiesta per il risultato, ad es array1.length + array2. length. Quindi, creiamo un nuovo risultato di matrice della lunghezza.

Ora, usiamo il ciclo for-each per scorrere ogni elemento di array1 e memorizzarlo nel risultato. Dopo aver assegnato, noi aumentiamo i pos di posizione da 1, pos++.

Allo stesso modo, facciamo lo stesso per array2 e memorizziamo ogni elemento nel risultato a partire dalla posizione dopo array1.

Articoli interessanti...