Java program za povezovanje dveh nizov

V tem programu se boste naučili združevanja dveh nizov v Javi z uporabo arraycopy in brez nje.

Če želite razumeti ta primer, morate poznati naslednje programske teme Java:

  • Java nizi
  • Java za vsako zanko

Primer 1: Združite dva niza z uporabo 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)); ) )

Izhod

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

V zgornjem programu imamo dve celoštevilski matriki array1 in array2.

Da bi združili (združili) dva polja, najdemo njegovo dolžino, shranjeno v aLen oziroma bLen. Nato ustvarimo nov rezultat celoštevilskega polja z dolžino aLen + bLen.

Zdaj, da združimo oboje, s pomočjo arraycopy()funkcije prekopiramo vsak element v obeh nizih, da dobimo rezultat .

arraycopy(array1, 0, result, 0, aLen)Funkcija, na preprost način, pravi program za kopiranje array1 začenši z indeksom 0za posledico iz indeksa 0Alen.

Prav tako for arraycopy(array2, 0, result, aLen, bLen)pove programu, da kopira matriko2, začenši z indeksa 0na resultindeks aLen v bLen.

Primer 2: Združite dva polja brez uporabe 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 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)); ) )

Izhod

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

V zgornjem programu namesto uporabe arraycopyročno kopiramo vsak element obeh nizov array1 in array2, da dobimo rezultat.

Shranimo skupno dolžino, potrebno za rezultat, tj array1.length + array2. length. Nato ustvarimo nov rezultat matrike dolžine.

Zdaj zanko for-each uporabimo za iteracijo skozi vsak element array1 in ga shranimo v rezultat. Potem ko je dodeljevanje smo povečali pos položaja z 1, pos++.

Podobno naredimo enako za matriko2 in shranimo vsak element v rezultat, začenši s položaja za matriko1.

Zanimive Članki...