Programme Java pour concaténer deux tableaux

Dans ce programme, vous apprendrez à concaténer deux tableaux en Java en utilisant et sans arraycopy.

Pour comprendre cet exemple, vous devez avoir la connaissance des rubriques de programmation Java suivantes:

  • Tableaux Java
  • Java pour chaque boucle

Exemple 1: concaténer deux tableaux à l'aide de 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)); ) )

Production

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

Dans le programme ci-dessus, nous avons deux tableaux d'entiers array1 et array2.

Afin de combiner (concaténer) deux tableaux, nous trouvons sa longueur stockée respectivement dans aLen et bLen. Ensuite, nous créons un nouveau résultat de tableau d'entiers avec une longueur aLen + bLen.

Maintenant, afin de combiner les deux, nous copions chaque élément dans les deux tableaux pour obtenir le résultat en utilisant la arraycopy()fonction.

La arraycopy(array1, 0, result, 0, aLen)fonction, en termes simples, indique au programme de copier array1 à partir de l'index 0vers le résultat de l'index 0vers aLen.

De même, for arraycopy(array2, 0, result, aLen, bLen)indique au programme de copier array2 à partir de l'index 0vers l' resultindex aLen vers bLen.

Exemple 2: concaténer deux tableaux sans utiliser 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)); ) )

Production

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

Dans le programme ci-dessus, au lieu d'utiliser arraycopy, nous copions manuellement chaque élément des deux tableaux array1 et array2 au résultat.

Nous stockons la longueur totale requise pour le résultat, c'est-à-dire array1.length + array2. length. Ensuite, nous créons un nouveau tableau résultat de la longueur.

Maintenant, nous utilisons la boucle for-each pour parcourir chaque élément de array1 et le stocker dans le résultat. Après l' attribution, nous augmentons la position pos par 1, pos++.

De même, nous faisons de même pour array2 et stockons chaque élément dans result à partir de la position après array1.

Articles intéressants...