logo

قوائم دارت

تشبه قائمة Dart المصفوفة، وهي عبارة عن مجموعة مرتبة من الكائنات. المصفوفة هي المجموعة الأكثر شيوعًا والأكثر استخدامًا في أي لغة برمجة أخرى. تبدو قائمة Dart مثل مصفوفة JavaScript الحرفية. ويرد أدناه بناء جملة إعلان القائمة.

 var list1 = [10, 15, 20,25,25] 

يتم تعريف قائمة Dart من خلال تخزين جميع العناصر داخل قوس مربع ([]) ومفصولة بفواصل (،).

دعونا نفهم التمثيل الرسومي للقائمة -

قوائم دارت

الورقة 1 - انها متغير القائمة الذي يشير إلى كائن القائمة.

فِهرِس - كل عنصر له رقم فهرس خاص به يوضح موضع العنصر في القائمة. يتم استخدام رقم الفهرس للوصول إلى عنصر معين من القائمة، مثل list_name[index]. تبدأ فهرسة القائمة من 0 ل الطول-1 حيث يشير الطول إلى أرقام العنصر الموجود في القائمة. على سبيل المثال، - طول القائمة أعلاه هو 4.

عناصر - تشير عناصر القائمة إلى القيمة الفعلية أو كائن السهم المخزن في القائمة المحددة.

أنواع القوائم

يمكن تصنيف قائمة Dart إلى نوعين -

  • قائمة الطول الثابت
  • قائمة قابلة للنمو

قائمة الطول الثابت

يتم تعريف القوائم ذات الطول الثابت بالطول المحدد. لا يمكننا تغيير الحجم في وقت التشغيل. ويرد بناء الجملة أدناه.

بناء الجملة - إنشاء قائمة ذات حجم ثابت

 var list_name = new List(size) 

يتم استخدام بناء الجملة أعلاه لإنشاء قائمة بالحجم الثابت. لا يمكننا إضافة أو حذف عنصر في وقت التشغيل. سيتم طرح استثناء إذا حاول أي شخص تعديل حجمه.

ويرد أدناه بناء جملة تهيئة عنصر القائمة ذات الحجم الثابت.

بناء الجملة - تهيئة عنصر القائمة ذو الحجم الثابت

 list_name[index] = value; 

دعونا نفهم المثال التالي.

جافا سكريبت الأقرب

مثال -

 void main() { var list1 = new List(5); list1[0] = 10; list1[1] = 11; list1[2] = 12; list1[3] = 13; list1[4] = 14; print(list1); } 

انتاج:

 [10, 11, 12, 13, 14] 

توضيح -

في المثال أعلاه، قمنا بإنشاء متغير الورقة 1 التي تشير إلى قائمة الحجم الثابت. حجم القائمة هو خمسة وقمنا بإدراج العناصر المقابلة لموضع الفهرس الخاص بها حيث 0ذالمؤشر يحمل 10، 1شارعالمؤشر يحمل 12 وهكذا.

قائمة قابلة للنمو

تُعرف القائمة التي يتم الإعلان عنها دون تحديد الحجم بالقائمة القابلة للنمو. يمكن تعديل حجم القائمة القابلة للنمو في وقت التشغيل. يرد أدناه بناء جملة الإعلان عن القائمة القابلة للنمو.

بناء الجملة - الإعلان عن قائمة

 // creates a list with values var list_name = [val1, val2, val3] Or // creates a list of the size zero var list_name = new List() 

بناء الجملة - تهيئة القائمة

 list_name[index] = value; 

خذ بعين الاعتبار المثال التالي -

مثال 1

 void main() { var list1 = [10,11,12,13,14,15]; print(list1); } 

انتاج:

 [10, 11, 12, 13, 14, 15] 

في المثال التالي، نقوم بإنشاء قائمة باستخدام القائمة الفارغة أو قائمة() البناء. ال يضيف() يتم استخدام الطريقة لإضافة عنصر ديناميكيًا في القائمة المحددة.

مثال - 2

 void main() { var list1 = new List(); list1.add(10); list1.add(11); list1.add(12); list1.add(13); print(list1); } 

انتاج:

 [10, 11, 12, 13] 

خصائص القائمة

فيما يلي خصائص القائمة.

ملكية وصف
أولاً تقوم بإرجاع حالة العنصر الأول.
فارغ يتم إرجاعه صحيحًا إذا كانت القائمة فارغة.
ليس فارغا يتم إرجاعه صحيحًا إذا كانت القائمة تحتوي على عنصر واحد على الأقل.
طول يقوم بإرجاع طول القائمة.
آخر تقوم بإرجاع العنصر الأخير من القائمة.
عكس تقوم بإرجاع قائمة بترتيب عكسي.
أعزب يتحقق مما إذا كانت القائمة تحتوي على عنصر واحد فقط ويعيده.

إدراج عنصر في القائمة

توفر Dart أربع طرق تُستخدم لإدراج العناصر في القوائم. وترد أدناه هذه الأساليب.

  • يضيف()
  • إضافة الجميع()
  • إدراج()
  • إدراج الكل ()

طريقة الإضافة ().

يتم استخدام هذه الطريقة لإدراج القيمة المحددة في نهاية القائمة. يمكنه إضافة عنصر واحد في كل مرة وإرجاع كائن القائمة المعدل. دعونا نفهم المثال التالي -

بناء الجملة -

 list_name.add(element); 

مثال -

 void main() { var odd_list = [1,3,5,7,9]; print(odd_list); odd_list.add(11); print(odd_list); } 

انتاج:

 [1, 3, 5, 7, 9] [1, 3, 5, 7, 9, 11] 

توضيح -

في المثال أعلاه، لدينا قائمة اسمها قائمة غريبة, الذي يحمل أرقامًا فردية. قمنا بإدراج عنصر جديد 11 باستخدام يضيف() وظيفة. ال يضيف() قامت الدالة بإلحاق العنصر في نهاية القائمة وإرجاع القائمة المعدلة.

طريقة addAll ().

يتم استخدام هذه الطريقة لإدراج قيم متعددة في القائمة المحددة. يتم فصل كل قيمة بفواصل وإحاطتها بقوس مربع ([]). ويرد بناء الجملة أدناه.

بناء الجملة -

ما هو رقم الأبجدية
 list_name.addAll([val1,val2,val3,?..valN]); 

دعونا نفهم المثال التالي -

 void main() { var odd_list = [1,3,5,7,9] print(odd_list); odd_list.addAll([11,13,14]); print(odd_list); } 

انتاج:

 [1, 3, 5, 7, 9] [1, 3, 5, 7, 9, 11, 13, 14] 

توضيح -

في المثال أعلاه، لا نحتاج إلى استدعاء يضيف() وظيفة عدة مرات. ال إضافة الجميع() قام بإلحاق القيم المتعددة مرة واحدة وإرجاع كائن القائمة المعدل.

طريقة الإدراج ().

ال إدراج() توفر الطريقة إمكانية إدراج عنصر في موضع الفهرس المحدد. يمكننا تحديد موضع الفهرس للقيمة المراد إدراجها في القائمة. ويرد بناء الجملة أدناه.

 list_name.insert(index,value); 

دعونا نفهم المثال التالي -

 void main(){ List lst = [3,4,2,5]; print(lst); lst.insert(2,10); print(lst); } 

انتاج:

 [3, 4, 2, 5] [3, 4, 10, 2, 5] 

توضيح -

في المثال أعلاه، لدينا قائمة بالأرقام العشوائية. قمنا باستدعاء وظيفة الإدراج () ومررنا الفهرس 2اختصار الثانيالقيمة 10 كوسيطة. تم إلحاق القيمة في 2اختصار الثانيفهرس وأعاد كائن القائمة المعدلة.

طريقة الإدراج الكل ().

يتم استخدام الدالة InsertAll() لإدراج القيمة المتعددة في موضع الفهرس المحدد. يقبل موضع الفهرس وقائمة القيم كوسيطة. ويرد بناء الجملة أدناه.

بناء الجملة -

 list_name.insertAll(index, iterable_list_of_value) 

دعونا نفهم المثال التالي -

مثال -

 void main(){ List lst = [3,4,2,5]; print(lst); lst.insertAll(0,[6,7,10,9]); print(lst); } 

انتاج:

 [3, 4, 2, 5] [6, 7, 10, 9, 3, 4, 2, 5] 

توضيح -

في المثال أعلاه، قمنا بإلحاق قائمة القيم عند 0ذموضع الفهرس باستخدام إدراج الكل () وظيفة. أعادت كائن القائمة المعدلة.

تحديث القائمة

يوفر Dart إمكانية تحديث القائمة ويمكننا تعديل القائمة بمجرد الوصول إلى عنصرها وتعيين قيمة جديدة لها. ويرد بناء الجملة أدناه.

بناء الجملة -

 list_name[index] = new_value; 

دعونا نفهم المثال التالي -

مثال -

 void main(){ var list1 = [10,15,20,25,30]; print('List before updation: ${list1}'); list1[3] = 55; print('List after updation:${list1}'); } 

انتاج:

قراءة ملفات json
 List before updation: [10, 15, 20, 25, 30] List after updation: [10, 15, 20, 55, 30] 

توضيح -

في المثال أعلاه، وصلنا إلى 3بحث وتطويرفهرس وخصص القيمة الجديدة 55 ثم طبع النتيجة. تم تحديث القائمة السابقة بالقيمة الجديدة 55.

استبدال النطاق () - توفر دارت استبدال النطاق () الوظيفة التي تُستخدم للتحديث ضمن النطاق المحدد لعناصر القائمة. يقوم بتحديث قيمة العناصر ذات النطاق المحدد. ويرد بناء الجملة أدناه.

بناء الجملة -

 list_name.replaceRange(int start_val, int end_val, iterable); 

دعونا نفهم المثال التالي -

مثال -

 void main(){ var list1 = [10,15,20,25,30]; print('List before updation: ${list1}'); list1.replaceRange(0,4,[1,2,3,4]) ; print('List after updation using replaceAll() function : ${list1}'); } 

انتاج:

 List before updation: [10, 15, 20, 25, 30] List after updation using replaceAll() function : [1, 2, 3, 4, 30] 

توضيح -

في المثال أعلاه، قمنا بتسمية استبدال النطاق () إلى القائمة التي تقبل الحجج الثلاث. لقد مررنا مؤشر البداية 0ذ، نهاية الفهرس 4 وقائمة العناصر التي سيتم استبدالها كوسائط ثالثة. أعادت القائمة الجديدة بالعنصر المستبدل من النطاق المحدد.

إزالة عناصر القائمة

يوفر Dart الوظائف التالية لإزالة عناصر القائمة.

  • يزيل()
  • إزالة في ()
  • إزالة الأخير ()
  • إزالة النطاق ()

طريقة الإزالة ().

يقوم بإزالة عنصر واحد في كل مرة من القائمة المحددة. يقبل العنصر كوسيطة. يقوم بإزالة التواجد الأول للعنصر المحدد في القائمة إذا كان هناك عدة عناصر متشابهة. ويرد بناء الجملة أدناه.

بناء الجملة -

التفاف النص المغلق
 list_name.remove(value) 

دعونا نفهم المثال التالي -

مثال -

 void main(){ var list1 = [10,15,20,25,30]; print('List before remove element : ${list1}'); list1.remove(20) ; print('List after removing element : ${list1}'); } 

انتاج:

 List before remove element : [10, 15, 20, 25, 30] List after removing element : [10, 15, 25, 30] 

توضيح -

في المثال أعلاه، قمنا بتسمية يزيل() دالة إلى القائمة وتمرير القيمة 20 كوسيطة. لقد أزال العشرين من القائمة المحددة وأعاد القائمة المعدلة الجديدة.

طريقة RemoveAt()

يقوم بإزالة عنصر من موضع الفهرس المحدد وإعادته. ويرد بناء الجملة أدناه.

بناء الجملة -

 list_name.removeAt(int index) 

مثال -

 void main(){ var list1 = [10,11,12,13,14]; print('List before remove element : ${list1}'); list1.removeAt(3) ; print('List after removing element : ${list1}'); } 

انتاج:

 List before remove element : [10, 11, 12, 13, 14] List after removing element : [10, 11, 12, 14] 

توضيح -

في المثال أعلاه، مررنا الرقم 3بحث وتطويرموضع الفهرس كوسيطة لـ إزالة في () الدالة وأزالت العنصر 13 من القائمة.

طريقة RemoveLast ().

يتم استخدام طريقة RemoveLast () لإزالة العنصر الأخير من القائمة المحددة. ويرد بناء الجملة أدناه.

بناء الجملة-

 list_name.removeLast() 

دعونا نفهم المثال التالي.

مثال -

البث
 void main(){ var list1 = [12,34,65,76,80]; print('List before removing element:${list1}'); list1.removeLast(); print('List after removed element:${list1}'); } 

انتاج:

 List before removing element:[12, 34, 65, 76, 80] List after removed element:[12, 34, 65, 76] 

في المثال أعلاه، قمنا باستدعاء الأسلوب RemoveLast()، الذي أزال العنصر الأخير وأعاده 80 من القائمة المحددة.

طريقة إزالة النطاق ().

تقوم هذه الطريقة بإزالة العنصر ضمن النطاق المحدد. يقبل حجتين - فهرس البداية و مؤشر النهاية. فهو يزيل كل العناصر التي تقع بين النطاق المحدد. ويرد بناء الجملة أدناه.

بناء الجملة -

 list_name. removeRange(); 

مثال -

 void main(){ var list1 = [12,34,65,76,80]; print('List before removing element:${list1}'); list1.removeRange(1,3); print('List after removed element:${list1}'); } 

انتاج:

 List before removing element:[12, 34, 65, 76, 80] List after removed element:[12, 76, 80] 

توضيح -

في المثال أعلاه، قمنا بتسمية إزالة النطاق () الطريقة وتمرير موضع فهرس البداية 1 وموضع فهرس النهاية 3 كوسائط. تمت إزالة كافة العناصر التي كانت تنتمي بين الموضع المحدد.

عناصر قائمة تكرار السهام

يمكن تكرار قائمة Dart باستخدام لكل طريقة. دعونا نلقي نظرة على المثال التالي.

مثال -

 void main(){ var list1 = ['Smith','Peter','Handscomb','Devansh','Cruise']; print('Iterating the List Element'); list1.forEach((item){ print('${list1.indexOf(item)}: $item'); }); } 

انتاج:

 Iterating the List Element 0: Smith 1: Peter 2: Handscomb 3: Devansh 4: Cruise 

ملاحظة - سوف نتعلم كل طريقة في حلقتنا في قسم Dart.