Програма Java за свързване на два масива

В тази програма ще се научите да обединявате два масива в Java с помощта на arraycopy и без него.

За да разберете този пример, трябва да имате познанията по следните теми за програмиране на Java:

  • Java масиви
  • Java за всеки цикъл

Пример 1: Конкатенация на два масива с помощта на 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)); ) )

Изход

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

В горната програма имаме два целочислени масива array1 и array2.

За да комбинираме (обединим) два масива, намираме дължината му, съхранявана съответно в aLen и bLen. След това създаваме нов резултат от цял ​​масив с дължина aLen + bLen.

Сега, за да комбинираме и двете, копираме всеки елемент в двата масива, за да получим резултат с помощта на arraycopy()функция.

Най- arraycopy(array1, 0, result, 0, aLen)функцията, с прости думи, казва програмата за копиране масив 1 като се започва от индекс 0резултат от индекса 0на Ален.

По същия начин for arraycopy(array2, 0, result, aLen, bLen)казва на програмата да копира array2, започвайки от индекс 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-за да итерираме през всеки елемент от array1 и да го съхраняваме в резултата. След като го присвоим, увеличаваме позицията pos с 1 pos++,.

По същия начин правим същото за array2 и съхраняваме всеки елемент в резултат, започвайки от позицията след array1.

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