Java programma divu masīvu savienošanai

Šajā programmā jūs iemācīsities savienot divus masīvus Java, izmantojot masīvu kopiju un bez tās.

Lai saprastu šo piemēru, jums jāpārzina šādas Java programmēšanas tēmas:

  • Java masīvi
  • Java katram lokam

1. piemērs: Savienojiet divus masīvus, izmantojot masīvu kopiju

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

Rezultāts

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

Iepriekš minētajā programmā mums ir divi veselo skaitļu masīvi masīvs1 un masīvs2.

Lai apvienotu (savienotu) divus masīvus, mēs atrodam tā garumu attiecīgi aLen un bLen. Pēc tam mēs izveidojam jaunu vesela skaitļa masīva rezultātu ar garumu aLen + bLen.

Tagad, lai apvienotu abus, mēs kopējam katru elementu abos masīvos, lai iegūtu, izmantojot arraycopy()funkciju.

arraycopy(array1, 0, result, 0, aLen)Funkcija, vienkāršā izteiksmē, stāsta programmu, lai kopētu masīvs1 sākot no indeksa 0, kas izriet no indeksa 0līdz Alen.

Līdzīgi, par - arraycopy(array2, 0, result, aLen, bLen)liek programmai kopēt masīvu2, sākot no indeksa 0uz resultindeksu aLen uz bLen.

2. piemērs: savienojiet divus masīvus, neizmantojot masīvu kopiju

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

Rezultāts

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

Iepriekš minētajā programmā tā vietā, lai izmantotu arraycopy, mēs manuāli kopējam abus masīvu masīva1 un masīva2 elementus, lai iegūtu rezultātu.

Mēs uzglabājam rezultātu kopējo garumu, ti array1.length + array2. length. Tad mēs izveidojam jaunu garuma masīva rezultātu.

Tagad mēs izmantojam katra cilpa, lai atkārtotu katru masīva1 elementu un saglabātu to rezultātā. Pēc tā piešķiršanas mēs palielinām pozīciju pos par 1 pos++,.

Tāpat mēs darām to pašu masīvam2 un katru elementu saglabājam rezultātā, sākot no pozīcijas pēc masīva1.

Interesanti raksti...