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

ما هي الـ dynamic array وما هو ال الـ vector وما هو الـ array list

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

السلام عليكم اواني الاعزاء

كثيرا ما اسمع عن الـ vector وفؤائدها الكبيرة و أيضا اسمع عن array list والـ dynamic array

هذه الانواع الثلاثة لا اعرف عنها شيئا غير مسمياتها فما هي فوائدها ومتى واين ولماذا يتم استخدامها

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

ويا ريت يتم دعم الشرح ببعض الامثلة البسيطة وبكون ممنون جدا

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


 


 


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


 


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


#2

وعليكم السلام ورحمه الله وبركاته

static array

dynamic array

نجد هذين المصطلحين يتكرران كثيرا

فالاولي تعني ان تلك المصفوفه حجمها ثابت ولا يمكن تغيره .. ام الثانيه فحجمها ليس ثابت .. كيف ؟ ساشرح مثال يوضح الفكره

تحيل معي قاعه كبيره بها 100 كرسي فقط .. اذن هذه لاستيعاب 100 شخص فقط ولا يمكن زياده الاشخاص عن 100 فرد هذا هو static array

ماذا لو القاعه ممتلئه وهناك اشخاص يريدون الدخول والجلوس فنأتي ب 50 كرسي اخر فيدخل الاشخاص واذا امتلئت ناتي ب 50 اخر ... الخ وهذا هو مفهوم dynamic array

بالنسبه لل Vector و ArrayList

هما الاثنين متشابهيم بدرجه كبيره جدا وكلاهما يمثل مصفوصفه متمدده ويقومون بالوصول للعناصر من خلال index

بالنسبه لل ArrayList فهي جزء من Collection Framework

وقدمت في java 2

قبل ذلك تم دعم كثر من Data Structure ومنها Vector and Stack

طيب ايه الفرق بقا ؟

Vector يحتوي علي synchronized Method في الوصول للعناصر و التعديل علي عناصر

Vector وذلك يمنع تلف العناصر الموجود في Vector

ملاحظه :- لو تطبيقك لا يحتاج ل Synchronization فاستخدام ArrayList اكثر كفائه من استخدامك لل Vector

يا رب يكون الشرح افادك ..

تحيــــــــــــــــــــــــــاتي

2
2coscqr.jpg
#3
Ahmed-Ghanem كتب:

وعليكم السلام ورحمه الله وبركاته

static array

dynamic array

نجد هذين المصطلحين يتكرران كثيرا

فالاولي تعني ان تلك المصفوفه حجمها ثابت ولا يمكن تغيره .. ام الثانيه فحجمها ليس ثابت .. كيف ؟ ساشرح مثال يوضح الفكره

تحيل معي قاعه كبيره بها 100 كرسي فقط .. اذن هذه لاستيعاب 100 شخص فقط ولا يمكن زياده الاشخاص عن 100 فرد هذا هو static array

ماذا لو القاعه ممتلئه وهناك اشخاص يريدون الدخول والجلوس فنأتي ب 50 كرسي اخر فيدخل الاشخاص واذا امتلئت ناتي ب 50 اخر ... الخ وهذا هو مفهوم dynamic array

بالنسبه لل Vector و ArrayList

هما الاثنين متشابهيم بدرجه كبيره جدا وكلاهما يمثل مصفوصفه متمدده ويقومون بالوصول للعناصر من خلال index

بالنسبه لل ArrayList فهي جزء من Collection Framework

وقدمت في java 2

قبل ذلك تم دعم كثر من Data Structure ومنها Vector and Stack

طيب ايه الفرق بقا ؟

Vector يحتوي علي synchronized Method في الوصول للعناصر و التعديل علي عناصر

Vector وذلك يمنع تلف العناصر الموجود في Vector

ملاحظه :- لو تطبيقك لا يحتاج ل Synchronization فاستخدام ArrayList اكثر كفائه من استخدامك لل Vector

يا رب يكون الشرح افادك ..

تحيــــــــــــــــــــــــــاتي

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

لكن اخي هل من مثال يوضح كيف نعمل الـ dynamic array

تقبل شكري ومودتي

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


 


 


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


 


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


#4

يجدر الإشارة إلى أن الصف Vector هو صف بائد/قديم (deprecated) لا يجب استعماله بعد الآن ...

فإذا كنت بحاجة للمزامنة استخدم Collections.synchronizedList

#5
Speed_Of_Light كتب:

يجدر الإشارة إلى أن الصف Vector هو صف بائد/قديم (deprecated) لا يجب استعماله بعد الآن ...

فإذا كنت بحاجة للمزامنة استخدم Collections.synchronizedList

ممكن توضيح معى المزامنة ولماذا استخدمها ويا ريت مثال

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


 


 


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


 


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


#6

المقصود بالمزامنة Synchronization

حيث تعمل الـ Collections.synchronizedList على بشكل آمن Thread-safe عند العمل مع الخيوط المتعددة Multithreads

#7
Speed_Of_Light كتب:

المقصود بالمزامنة Synchronization

حيث تعمل الـ Collections.synchronizedList على بشكل آمن Thread-safe عند العمل مع الخيوط المتعددة Multithreads

يعني اخي باختصار تعني ان الغي من بالي أي استخدام للصنف vector

واستخدم بدلا منها arraylist

وشكرا لتواصلك

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


 


 


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


 


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


#8

شكرا على التوضيح

هل يمكن أن يوضح عمل المصفوفه الديناميكية بمثال ؟؟

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