Программа на Java для объединения двух массивов

В этой программе вы научитесь объединять два массива в Java с использованием копирования массива и без него.

Чтобы понять этот пример, вы должны знать следующие темы программирования Java:

  • Массивы Java
  • Java для каждого цикла

Пример 1: объединение двух массивов с помощью копирования массива

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

Вывод

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

В приведенной выше программе у нас есть два целочисленных массива array1 и array2.

Чтобы объединить (объединить) два массива, мы находим его длину, хранящуюся в aLen и bLen соответственно. Затем мы создаем новый результат целочисленного массива длиной aLen + bLen.

Теперь, чтобы объединить оба массива, мы копируем каждый элемент в оба массива, чтобы получить результат с помощью arraycopy()функции.

arraycopy(array1, 0, result, 0, aLen)Функция, в простых условиях, сообщает программа для копирования array1 начиная с индекса 0в результате индекс 0к Alen.

Кроме того, для arraycopy(array2, 0, result, aLen, bLen)сообщает программа для копирования array2 начиная с индекса 0к resultот индекса Alen к Блен.

Пример 2: объединение двух массивов без использования копирования массива

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

Вывод

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

В приведенной выше программе вместо использования arraycopyмы вручную копируем каждый элемент обоих массивов array1 и array2 в результат.

Мы храним полную длину , необходимую для результата, то есть array1.length + array2. length. Затем мы создаем новый массив результата длины.

Теперь мы используем цикл for-each для перебора каждого элемента array1 и сохранения его в результате. После назначения его, мы увеличиваем позы позиции 1, pos++.

Точно так же мы делаем то же самое для array2 и сохраняем каждый элемент результата, начиная с позиции после array1.

Интересные статьи...