English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Programm lernen Sie, wie man in Kotlin zwei Arrays mit arraycopy und ohne arraycopy verbindet.
import java.util.Arrays fun main(args: Array<String>) { 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)) }
Wenn das Programm ausgeführt wird, lautet die Ausgabe:
[1, 2, 3, 4, 5, 6]
Im obigen Programm haben wir zwei Integer-Arrays array1und array2。
Um zwei Arrays zu kombinieren (zusammenzusetzen), finden wir ihre Längen in aLen und bLen gespeichert und erstellen dann ein Array der Länge aLen + bLen neue Integer-Array result.
Nun, um beide zu kombinieren, verwenden wir die arraycopy() Funktion, um jeden Element der beiden Arrays in result zu kopieren.
arraycopy(array1, 0, result, 0, aLen) Funktion, kurz gesagt, kopiert das Programm array1Von Index 0 kopieren nach result von Index 0 kopieren nach aLen.
Gleichzeitig, für arraycopy(array2,0,result,aLen,bLen) weist das Programm an, array2Von Index 0 kopieren nach result von Index aLen kopieren nach bLen.
import java.util.Arrays fun main(args: Array<String>) { 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)) }
Wenn das Programm ausgeführt wird, lautet die Ausgabe:
[1, 2, 3, 4, 5, 6]
Im obigen Programm haben wir arraycopy nicht verwendet, sondern die Array array manuell kopiert1und array2in result. Speichern
Wir speichern die erforderliche Gesamtlänge von result, d.h. jedes Element von array1.length + array2. length. Dann erstellen wir ein neues Array mit der neuen Länge result.
Jetzt verwenden wir for-each-Schleife, um array zu durchsuchen1jedes Element und speichern es im Ergebnis. Nach der Zuweisung erhöhen wir den Positionspfeil pos 1, pos++。
Gleichzeitig führen wir die gleiche Operation aus und behandeln array2Führen Sie denselben Vorgang aus und beginnen Sie ab array1Ab dem nächsten Ort werden die Elemente von result gespeichert.
Dies ist das äquivalente Java-Code:Java-Programm zum Verbinden zweier Arrays。