Програма Java для об’єднання двох масивів

У цій програмі ви навчитеся об’єднувати два масиви в Java за допомогою arraycopy та без неї.

Щоб зрозуміти цей приклад, ви повинні знати такі теми програмування 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.

Аналогічним чином, for arraycopy(array2, 0, result, aLen, bLen)повідомляє програмі копіювати масив2, починаючи з індексу 0до resultіндексу aLen до bLen.

Приклад 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 для ітерації кожного елемента масиву1 та збереження його в результаті. Після призначення його, ми збільшуємо пози позиції 1, pos++.

Так само ми робимо те саме для масиву2 і зберігаємо кожен елемент у результаті, починаючи з позиції після масиву1.

Цікаві статті...