Java - ربط صفيفين باستخدام System.arraycopy
في هذا البرنامج التعليمي ، سوف نتعلم كيفية دمج جدولين. يوفر المثالان التاليان طريقتين مختلفتين للتسلسل: طريقة أكاديمية للتعلم والثانية مع
System.arraycopy().
1) الطريقة الكلاسيكية: تصفح كلا المصفوفتين
public class ConcatArrays {
الفراغ العام الثابت الرئيسي (String[] args) {
String[] t1 = {"1"، "2"، "3"}؛
سلسلة [] t2 = {"4" ، "5" ، "6"} ؛
String [] t12 = سلسلة جديدة [t1.length + t2.length] ؛
/ * التسلسل * /
ل (int i = 0 ؛ i < t1.length ؛ i ++)
t12 [i] = t1 [i] ؛
ل (int i = 0 ؛ i < t2.length ؛ i ++)
// نواصل النسخ في t12 من index
// الذي أوقفناه وهو طول t1
t12 [i + t1.length] = t2 [i] ؛
for (int i = 0 ؛ i < t12.length ؛ i ++)
System.out.println (t12 [i]) ؛
}
}
< / pre> Output
1
2
3
4
5
6
< / pre>2) مع System.arraycopy () < / h2 >< div الطريقة> هذه الطريقة فعالة ، يمكنك استخدامه لنسخ العناصر من جدول مصدر إلى جدول الوجهة. يقبل خمس وسيطات:
- الصفيف المصدر (t1 و t2).
- من أي موضع للصفيف المصدر تريد البدء (في حالتنا 0).
- الصفيف الوجهة (t12).
- من أي موضع للصفيف الوجهة تريد أن تبدأ.
- 0 ل t1.< / li>
- t1.lenght ل t2.< / li>< / ol>
- عدد العناصر التي تريد نسخها (وليس موضع الإيقاف).< / li>< / ol>< / div>
public class ConcatArrays {
الفراغ العام الثابت الرئيسي (سلسلة [] args) {
char[] t1 = {'a' ، 'ب','ج'};
char[] t2 = {'d','e','f'};
char[] t12 = حرف جديد [t1.length + t2.length] ؛
//نسخة من الصفيف الأول
System.arraycopy (t1, 0, t12, 0, t1.length);
//نسخة من صفيف الصفيف الثاني
System.arraycopy (t2، 0، t12، t1.length، t2.length)؛
for (int i = 0 ؛ i < t12.length ؛ i ++)
System.out.println (t12 [i]) ؛
}
}
< / pre> Output
< pre class = "prettyprint lang-java" >a
b
c
d
e
f
< / pre> المراجع
وثائق أوراكل: فئة النظام
TutorialsPoint: Java.lang.System.arraycopy() الطريقة