14-10-12, 04:03 PM
ArrayList :
هي قائمة array كما هو واضح من الاسم ، تتميز بنفس سمات ال array من حيث تخزينها لعدة بيانات ، اضافة لمميزات القائمة التي تسهل عمليات الاضافة والتعديل والترتيب والحذف وخلافه داخل عناصر هذه المصفوفة .
لنفترض ان لدينا فئة (سيارة) السابقة والتي تحتوي على اسم السيارة وموديلها ، كنا نعرف مصفوفة منها باستخدام الأمر التالي :
c#:
vb.net:
ربما لم تكن تعرف انك تحتاج لاربع سيارات فقط ، ربما تحتاج للزيادة او للنقصان ، ربما ترغب بحذف واحدة منهم من المنتصف ... الخ ، فكما ترى لا توفر لنا ال array الكثير من الخيارات لتسهيل التعامل مع هذه الخصائص ، ستحتاج لبعض الأوامر للحذف وخلافه .
بداية قم بعمل using ل System.Collection لتكون قادراً على التعامل المباشر معها لاحقاً .
c#:
vb.net:
لكن جاءت array List لتلقي عن كاهلك اي مشاكل بخصوص هذه العمليات ، كل ما عليك هو تعريف arrayList بالطريقة التالية :
C#:
vb.net:
والآن يمكنك اضافة سيارة :
c#:
vb.net:
تستطيع ايضاً عمل insert في جزء معين ، لاضافة السيارة مثلاً في المكان الثالث نكتب الكود التالي :
c#:
vb.net:
في الناحية الأخرى ، تستطيع مسح كامل القائمة :
C#:
vb.net:
أو حذف عنصر معين بدلالة موقعه :
C#:
vb.net:
او بدلالة العنصر نفسه :
C#:
vb.net:
يمكننا استخدام الخاصية Count لمعرفة العدد ، وبالتالي الدوران عليهم جميعاً بالشكل التالي مثلاً :
c#:
vb.net:
يمكننا استخدام بعض الخصائص الأخرى مثل sort كما تعلمنا سابقاً ، يمكننا تحويلها إلى array عادية باستخدام الدالة toarray ، الدالة Reverse ستعكس ترتيب القائمة ، الدالة indexof تستخدم للبحث بالطريقة التالية ، لنفترض لدينا السيارة temp ونرغب في البحث عنها ضمن السيارات الموجودة ، سيكون ذلك بالشكل التالي :
C#:
vb.net:
وهكذا تستطيع استخدام المتغير find للوصول إلى مكان العنصر والتعامل معه كما تريد ، كما يمكنك تحديد نقطة بداية البحث 0 كما حددنا او تغييرها او عدم استخدامها اصلاً ، هناك ايضاً خصائص أخرى ولكن كان هذا عرضاً سريعاً لاهم الخصائص والدوال .
نتابع الدرس القادم مع Hashtable
هي قائمة array كما هو واضح من الاسم ، تتميز بنفس سمات ال array من حيث تخزينها لعدة بيانات ، اضافة لمميزات القائمة التي تسهل عمليات الاضافة والتعديل والترتيب والحذف وخلافه داخل عناصر هذه المصفوفة .
لنفترض ان لدينا فئة (سيارة) السابقة والتي تحتوي على اسم السيارة وموديلها ، كنا نعرف مصفوفة منها باستخدام الأمر التالي :
c#:
كود :
[FONT=Tahoma]Car[] carArray = new Car[4];[/FONT]vb.net:
كود :
Dim carArray As Car() = New Car(3)ربما لم تكن تعرف انك تحتاج لاربع سيارات فقط ، ربما تحتاج للزيادة او للنقصان ، ربما ترغب بحذف واحدة منهم من المنتصف ... الخ ، فكما ترى لا توفر لنا ال array الكثير من الخيارات لتسهيل التعامل مع هذه الخصائص ، ستحتاج لبعض الأوامر للحذف وخلافه .
بداية قم بعمل using ل System.Collection لتكون قادراً على التعامل المباشر معها لاحقاً .
c#:
كود :
[FONT=Tahoma]using System.Collections;[/FONT]vb.net:
كود :
[FONT=Tahoma]Imports System.Collections [/FONT]لكن جاءت array List لتلقي عن كاهلك اي مشاكل بخصوص هذه العمليات ، كل ما عليك هو تعريف arrayList بالطريقة التالية :
C#:
كود :
[FONT=Tahoma]ArrayList carList = new ArrayList();[/FONT]vb.net:
كود :
[FONT=Tahoma]Dim carList As New ArrayList() [/FONT]والآن يمكنك اضافة سيارة :
c#:
كود :
Car temp = new Car("BMW", 1990);
carList.Add(temp);vb.net:
كود :
Dim temp As New Car("BMW", 1990)
carList.Add(temp)تستطيع ايضاً عمل insert في جزء معين ، لاضافة السيارة مثلاً في المكان الثالث نكتب الكود التالي :
c#:
كود :
[FONT=Tahoma] carList.Insert(temp);[/FONT]vb.net:
كود :
[FONT=Tahoma] carList.Insert(temp)[/FONT]في الناحية الأخرى ، تستطيع مسح كامل القائمة :
C#:
كود :
[FONT=Tahoma]carList.Clear();[/FONT]vb.net:
كود :
[FONT=Tahoma]carList.Clear()[/FONT]أو حذف عنصر معين بدلالة موقعه :
C#:
كود :
[FONT=Tahoma]carList.RemoveAt(4);[/FONT]vb.net:
كود :
[FONT=Tahoma]carList.RemoveAt(4)[/FONT]او بدلالة العنصر نفسه :
C#:
كود :
carList.Remove(temp);vb.net:
كود :
[FONT=Tahoma]carList.Remove(temp);[/FONT]يمكننا استخدام الخاصية Count لمعرفة العدد ، وبالتالي الدوران عليهم جميعاً بالشكل التالي مثلاً :
c#:
كود :
for (int i = 0; i < carList.Count; i++)
{
temp = (Car)carList[i];
}vb.net:
كود :
For i As Integer = 0 To carList.Count - 1
temp = DirectCast(carList(i), Car)
Nextيمكننا استخدام بعض الخصائص الأخرى مثل sort كما تعلمنا سابقاً ، يمكننا تحويلها إلى array عادية باستخدام الدالة toarray ، الدالة Reverse ستعكس ترتيب القائمة ، الدالة indexof تستخدم للبحث بالطريقة التالية ، لنفترض لدينا السيارة temp ونرغب في البحث عنها ضمن السيارات الموجودة ، سيكون ذلك بالشكل التالي :
C#:
كود :
[FONT=Tahoma]int find=carList.IndexOf(temp, 0);[/FONT]vb.net:
كود :
[FONT=Tahoma]Dim find As Integer = carList.IndexOf(temp, 0) [/FONT]وهكذا تستطيع استخدام المتغير find للوصول إلى مكان العنصر والتعامل معه كما تريد ، كما يمكنك تحديد نقطة بداية البحث 0 كما حددنا او تغييرها او عدم استخدامها اصلاً ، هناك ايضاً خصائص أخرى ولكن كان هذا عرضاً سريعاً لاهم الخصائص والدوال .
نتابع الدرس القادم مع Hashtable
