نسخ / استنساخ ArrayList إلى آخر في Java
في هذا البرنامج التعليمي ، سننظر في كيفية نسخ جميع العناصر من ArrayList إلى ArrayList آخر. يجب أن نستخدم الطريقة استنساخ () < / span> من الفئة الأم كائن لتحقيق هدفنا.استنساخ الكائن ()< / span>: ترجع هذه الطريقة نسخة من ArrayList.
لا يعني الاستنساخ أن كلا من القوائم الأصلية والمستنسخة تشير إلى نفس مربع الذاكرة. يتم ذلك فقط باستخدام القائمة ب = أ ؛ < / سبان>. إذا قمت بتغيير عنصر في القائمة الأولى، تغييره أيضا في القائمة الثانية.
Cloning ينشئ مثيلا جديدا يحتفظ بنفس العناصر. هذا يعني أن لديك قائمتين مختلفتين ، لكن محتوياتهما هي نفسها. إذا قمت بتغيير عنصر في القائمة الأولى ، فلن يتغير في القائمة الثانية.
في هذا المثال ، لدينا ArrayList من النوع String ونقوم باستنساخه باستخدام الطريقة استنساخ ().< / سبان> النقطة المثيرة للاهتمام هنا هي متى يتم إضافة العناصر وإزالتها إلى القائمة الأصلية بعد clone.
import java.util.ArrayList;ومع ذلك ، يجب أن تفكر في عدم استخدام طريقة clone() . إنه يعمل بشكل جيد للغاية مع المجموعات ، ولكن بشكل عام ، من الأفضل استخدام المنشئ قائمة الصفيف الجديدة< / الامتداد >.
ArrayList_clone الفئة العامة {
الفراغ العام الثابت الرئيسي (سلسلة [] args) {
ArrayList< سلسلة> al = قائمة صفيف جديدة< سلسلة> ();
// إضافة عناصر إلى ArrayList
al.add ("القلم") ؛
al.add ("Kit") ؛
al.add ("قلم رصاص") ؛
al.add ("آلة حاسبة") ؛
System.out.println("ArrayList: "+al);
ArrayList< سلسلة> al2 = (قائمة الصفيف< سلسلة>) al.clone();
System.out.println ("قائمة الصفائف المستنسخة: "+ al2);
//add and remove items from original list
al.add ("Notebook");
al.remove ("قلم رصاص") ؛
//إظهار كلتا القائمتين بعد إضافة وحذف
System.out.println ("Original ArrayList: "+al);
System.out.println ("قائمة الصفائف المستنسخة: "+al2);
}
}
< / pre>وقت التشغيل :
< pre class = "prettyprint lang-java" >ArrayList: [قلم ، مجموعة ، قلم رصاص ، آلة حاسبة] < br / > قائمة الصفيف المستنسخة: [قلم ، مجموعة ، قلم رصاص ، آلة حاسبة]
ArrayList الأصل: [قلم ، مجموعة ، آلة حاسبة ، دفتر ملاحظات] < br / > قائمة الصفيف المستنسخة: [قلم ، مجموعة ، قلم رصاص ، حاسبة]