الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

نسخ المصفوفات

بدأه vector_ever في 5 مارس 2011 · 3 رد · 542 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اود أن اطرح سؤال عن افضل طريقة لنسخ عناصر مصفوفة لمصفوفة آخرى

أنا أستخدم الحلقات for ونسخ عنصر عنصر من المصفوفة الأصل الى المصفوفة الهدف

لكنني قرات أن الامر ()System.arraycopy هو الامر الاسرع والافضل لنسخ المصفوفات

لكنني أقع في حيرة من أمري بسبب الامر ()clone ولا أستطيع ان اعرف الفرق بينه وبين ()System.arraycopy

فهل من مساعدة لتبيان الفرق

وشكرا

تم تعديل هذه المشاركة بواسطة vector_ever في 5 مارس 2011 في 04:44

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


#2

السلام عليكم

لا اعلم فروقا جوهرية بين الطريقتين حتى بالنسبة للاداء لم اجد ما يرجح كفة احدهما

وهذه بعض الفروق التي استطعت استخلاصها

1- clone تعمل مع اي object اما copyArray فتعمل مع المصفوفات فقط (فرق عبقري :cool: )

2- تستطيع عمل override للدالة clone لتنفيذ بعض العمليات المعقدة اما copyArray فلا

3- مع clone لن تحتاج الى عمل object instantiation للـ object المنسوخ اليه اما مع arrayCopy فتحتاج الى تعريف المصفوفة وتحديد طولها قبل استخدام الدالة

4- واخيرا بخصوص طريقة العمل فكلاهما يقوم بعمل نسخة سطحية shallow copy اي اذا كان لديك مصفوفة من objects وقمت بعمل نسخة منها سيصبح لديك مصفوفتان لكنهما يشتركان في نفس Objects ولكن تستطيع التغلب على ذلك بعمل override لـ clone

ارجو ان اكون قد افدت

تحياتي

تم تعديل هذه المشاركة بواسطة Ahmed SD في 5 مارس 2011 في 15:45

#3
Ahmed SD كتب:

4- واخيرا بخصوص طريقة العمل فكلاهما يقوم بعمل نسخة سطحية shallow copy اي اذا كان لديك مصفوفة من objects وقمت بعمل نسخة منها سيصبح لديك مصفوفتان لكنهما يشتركان في نفس Objects ولكن تستطيع التغلب على ذلك بعمل override لـ clone

حياك الله اخي وشكرا لردك

لكن هل تسطيع ان تستفيض بشرح هذه النقطة لاني اعتقد انها مهمة وصراحة ما فهمت المقصود منها

ودمت

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


#4

السلام عليكم

قم بقراءة هذا الموضوع

/index.php?showtopic=217753

وأي استفسار نحن موجودون

تحياتي

مواضيع مشابهة