Concaténer deux tableaux | Java

Dans ce tutoriel nous allons découvrir comment concaténer deux tableaux en Java.

Pour concaténer ou fusionner deux tableaux dans un seul tableau de telle sorte que les éléments du tableau conservent leur ordre d’origine dans le tableau nouvellement fusionné. Les éléments du premier tableau précèdent les éléments du deuxième tableau.
 
 

Exemple: En utilisant la méthode arraycopy()

arraycopy() est une méthode de la classe System qui appartient au package java.lang. Il copie un tableau source spécifié vers la position spécifiée du tableau de destination. Le nombre d’éléments copiés est égal à la longueur du tableau.

Exemple : La fonction arraycopy(tab, 0, res, 0, len), permet de copier « tab » à partir de l’index « 0 » vers « res » de l’index « 0 » vers « len ».

import java.util.Arrays;

public class Main
{
	public static void main(String[] args) 
	{
		int[] tab1 = {1,2,3};
		int[] tab2 = {4,5,6};
		
		int len1 = tab1.length;
		int len2 = tab2.length;
		
		int[] res = new int[len1 + len2];
		
		System.arraycopy(tab1, 0, res, 0, len1);
		System.arraycopy(tab2, 0, res, len1, len2);
		System.out.println(Arrays.toString(res));
	}
}

 
Sortie:

[1, 2, 3, 4, 5, 6]

 
 

Exemple: Sans utiliser la méthode arraycopy()

Dans le code suivant, nous avons initialisé deux tableaux tab1 et tab2 de type int. Nous allons copier manuellement chaque élément des deux tableaux dans le tableau « res » et convertissez ce tableau en chaîne en utilisant la méthode toString() de la classe Array.

import java.util.Arrays;

public class Main
{
	public static void main(String[] args)
	{
		int[] tab1 = {1,2,3};
		int[] tab2 = {4,5,6};
		int len = tab1.length + tab2.length; 
		int[] res = new int[len];	
		int pos = 0;
		for (int i : tab1) 
		{
			res[pos] = i;
			pos++;				
		}
		for (int i : tab2) 
		{
			res[pos] = i;
			pos++;
		}
		System.out.println(Arrays.toString(res));	
	}
}

 
Sortie:

[1, 2, 3, 4, 5, 6]

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *