Java-program for sammenkobling av to matriser

I dette programmet lærer du å sammenkoble to matriser i Java ved hjelp av arraycopy og uten det.

For å forstå dette eksemplet, bør du ha kunnskap om følgende Java-programmeringsemner:

  • Java Arrays
  • Java for hver løkke

Eksempel 1: Sammenkoble to matriser ved hjelp av 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)); ) )

Produksjon

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

I programmet ovenfor har vi to heltall arrays array1 og array2.

For å kombinere (sammenkoble) to matriser, finner vi lengden lagret i henholdsvis aLen og bLen. Deretter oppretter vi et nytt heltall array-resultat med lengde aLen + bLen.

Nå, for å kombinere begge deler, kopierer vi hvert element i begge matriser for å resultat ved hjelp av arraycopy()funksjonen.

Den arraycopy(array1, 0, result, 0, aLen)funksjonen på en enkel måte, forteller programmet til å kopiere matrise1 fra indeksen 0til å resultere fra indeks 0til Ålen.

På samme måte arraycopy(array2, 0, result, aLen, bLen)forteller for programmet å kopiere array2 fra indeks 0til resultindeks aLen til bLen.

Eksempel 2: Sammenkoble to matriser uten å bruke arraykopi

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

Produksjon

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

I det ovennevnte programmet, i stedet for å bruke arraycopy, kopierer vi manuelt hvert element i begge matriser array1 og array2 til resultat.

Vi lagrer den totale lengden nødvendig for resultatet, altså array1.length + array2. length. Deretter lager vi et nytt array-resultat av lengden.

Nå bruker vi for-hver sløyfe til å iterere gjennom hvert element i array1 og lagre det i resultatet. Etter tildeling av det, øker vi posisjons pos med 1, pos++.

På samme måte gjør vi det samme for array2 og lagrer hvert element i resultatet fra posisjon etter array1.

Interessante artikler...