Јава програм за спајање два низа

У овом програму научићете да спајате два низа у Јави помоћу арраицопи и без ње.

Да бисте разумели овај пример, требало би да имате знање о следећим темама програмирања Јава:

  • Јава низови
  • Јава за сваку петљу

Пример 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)

У горњем програму имамо два целобројна низа низ1 и низ2.

Да бисмо комбиновали (спојили) два низа, пронађемо његову дужину ускладиштену у аЛен и бЛен. Затим креирамо нови резултат целобројног низа дужине аЛен + бЛен.

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

arraycopy(array1, 0, result, 0, aLen)Функција, једноставно речено, говори програм за копирање низ1 почевши од индекса 0на резултат индекса 0Алену.

Слично томе, фор arraycopy(array2, 0, result, aLen, bLen)каже програму да копира низ2 почевши од индекса 0до resultиндекса аЛен до бЛен.

Пример 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, ручно копирамо сваки елемент оба низа арраи1 и арраи2 да бисмо добили резултат.

Чувамо укупну дужину потребну за резултат, тј array1.length + array2. length. Затим креирамо нови резултат низа дужине.

Сада користимо петљу фор-еацх за итерацију кроз сваки елемент низа1 и чувамо га у резултату. Након додељивања смо повећати позицију поз за 1, pos++.

Исто тако, радимо исто за низ2 и чувамо сваки елемент у резултату почев од положаја након низа1.

Занимљиви Чланци...