Kotlinov program za povezovanje dveh nizov

V tem programu se boste naučili povezati dva polja v Kotlinu z uporabo arraycopy in brez nje.

Primer 1: Združite dva niza z uporabo arraycopy

 import java.util.Arrays fun main(args: Array) ( val array1 = intArrayOf(1, 2, 3) val array2 = intArrayOf(4, 5, 6) val aLen = array1.size val bLen = array2.size val result = IntArray(aLen + bLen) System.arraycopy(array1, 0, result, 0, aLen) System.arraycopy(array2, 0, result, aLen, bLen) println(Arrays.toString(result)) )

Ko zaženete program, bo rezultat:

 (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 oba, kopiramo vsake elemente v obeh nizih, da dobimo rezultat s pomočjo funkcije arraycopy ().

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 fun main(args: Array) ( val array1 = intArrayOf(1, 2, 3) val array2 = intArrayOf(4, 5, 6) val length = array1.size + array2.size val result = IntArray(length) var pos = 0 for (element in array1) ( result(pos) = element pos++ ) for (element in array2) ( result(pos) = element pos++ ) println(Arrays.toString(result)) )

Ko zaženete program, bo rezultat:

 (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 za-vsako zanko uporabljamo za zanko 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.

Tu je enakovredna koda Java: program Java za združevanje dveh nizov.

Zanimive Članki...