Java - Verketten Sie zwei Arrays mit System.arraycopy
In diesem Tutorial erfahren Sie, wie Sie zwei Tabellen zusammenführen. Die folgenden beiden Beispiele bieten zwei verschiedene Möglichkeiten der Verkettung: eine akademische Methode zum Lernen und die zweite mit der System.arraycopy().1) Klassische Methode: beide Arrays durchsuchen
public class ConcatArrays {Output
public static void main(String[] args) {
String[] t1 = {"1","2","3"};
Zeichenfolge[] t2 = {"4","5","6"};
String[] t12 = new String[t1.length+t2.length];
/*Verkettung*/
for(int i = 0 ; i < t1.length; i++)
t12[i]=t1[i];
for(int i = 0 ; i < t2.length; i++)
//Wir kopieren in t12 weiter aus dem index
//, den wir gestoppt haben, was die Länge von t1
t12[i+t1.length]=t2[i];
for(int i = 0 ; i < t12.length; i++)
System.out.println(t12[i]);
}
}
1
2
3
4
5
6
2) Mit der Methode System.arraycopy()
Diese Methode ist effizient, Sie können es verwenden, um Elemente aus einer Quelltabelle in die Zieltabelle zu kopieren. Es akzeptiert fünf Argumente:
- Das Quell-Array (t1 und t2).
- von welcher Position des Quell-Arrays Sie starten möchten (in unserem Fall 0).
- Das Ziel-Array (t12).
- von welcher Position des Ziel-Arrays Sie starten möchten.
- 0 für t1.
- t1.lenght für t2.
- Die Anzahl der Elemente, die Sie kopieren möchten (nicht die Stoppposition).
public class ConcatArrays {Output
public static void main(String[] args) {
char[] t1 = {'a', 'b','c'};
char[] t2 = {'d','e','f'};
char[] t12 = new char[t1.length+t2.length];
//Kopie des ersten Arrays
System.arraycopy(t1, 0, t12, 0, t1.length);
//Kopie des zweiten Array-Arrays
System.arraycopy(t2, 0, t12, t1.length, t2.length);
for(int i = 0 ; i < t12.length; i++)
System.out.println(t12[i]);
}
}
aReferences
b
c
d
e
f
Oracle-Dokumentation: Die System