By using this site, you agree to the Privacy Policy and Terms of Use.
موافق
عرب فلاترعرب فلاتر
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
قراءة: الدرس 22: شرح القائمة List في لغة دارت (List in Dart)
شارك
تسجيل الدخول
إشعار أظهر المزيد
Aa
عرب فلاترعرب فلاتر
Aa
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
Search

أقسام الموقع

استكشف جميع أقسام الموقع
قسم Dart في موقع عرب فلاتر

Dart

59 مقالات
قسم Widgets في موقع عرب فلاتر

Widgets

104 مقالات
قسم Packages في موقع عرب فلاتر

Packages

19 مقالات
قسم Tutorials في موقع عرب فلاتر

Tutorials

22 مقالات

أخر المواضيع

استكشف أخر المواضيع المنشورة
شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
Tutorials

شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا

5
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
Tutorials

حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر

10
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
Tutorials

أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات

17
لديك حساب موجود؟ تسجيل الدخول
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
© جميع الحقوق محفوظة موقع عرب فلاتر 2023
عرب فلاتر > Dart > الدرس 22: شرح القائمة List في لغة دارت (List in Dart)
Dart

الدرس 22: شرح القائمة List في لغة دارت (List in Dart)

عبدالله يوسف
أخر تحديث 2024/11/15
بواسطة عبدالله يوسف اضف تعليق 11 دقيقة للقراءة 5394 مشاهدات 9
شارك
شرح القائمة List في لغة دارت (List in Dart)
شرح القائمة List في لغة دارت (List in Dart)
شارك

خدماتنا البرمجية – عرب فلاتر🚀

خدماتنا البرمجية – عرب فلاتر

تُستخدم القوائم في لغة دارت لتخزين قيم متعددة في متغير واحد. تشبه القوائم في دارت المصفوفات في لغات البرمجة الأخرى. على سبيل المثال، يمكنك استخدام قائمة لتخزين أسماء طلاب متعددين. تُمثل القائمة بين قوسين مربعين []. سنتعرف على كيفية إنشاء قوائم وأنواع القوائم وكيفية الوصول إلى عناصر القائمة وتغيير قيمها والعديد من العمليات الأخرى المتعلقة بالقوائم في لغة دارت.

المحتويات
كيفية إنشاء قائمة List في دارت:أنواع القوائم List في دارت:قائمة ذات طول ثابت (Fixed Length List):قائمة قابلة للتوسع (Growable List):الوصول إلى عنصر في القائمة List:الحصول على index عنصر بواسطة قيمته:معرفة طول القائمة List في دارت:تغيير قيم القائمة List في دارت:قائمة قابلة للتعديل وقائمة غير قابلة للتعديل:خصائص القائمة List في دارت:الوصول للعنصر الأول والأخير في القائمة List:التحقق مما إذا كانت القائمة فارغة أم لاعكس القائمة List في دارت:اضافة العناصر الي القائمة List:مثال 1: اضافة عناصر الى القائمة باستخدام addمثال 2: اضافة عناصر الى القائمة باستخدام addAllمثال 3: اضافة عناصر الى القائمة باستخدام insertمثال 4: اضافة عناصر الى القائمة باستخدام insertAllحذف العناصر من القائمة List:مثال 1: حذف عناصر من القائمة باستخدام removeمثال 2: حذف عناصر من القائمة باستخدام removeAtمثال 3: حذف عناصر من القائمة باستخدام removeLastمثال 4: حذف عناصر من القائمة باستخدام removeRangeاستخدام حلقات التكرار مع القائمة Loops In Listمثال 1 باستخدام for each loop:مثال 2 باستخدام for loop:استخدام الشروط في القائمة Conditions In Listاستخدام where مع القائمة

كيفية إنشاء قائمة List في دارت:

يمكنك إنشاء قائمة بتحديد العناصر الأولية داخل قوسين مربعين. يُستخدم القوسين المربعين [] لتمثيل القائمة.

// قائمة الأعداد الصحيحة
List<int> ages = [10, 30, 23];

// قائمة السلاسل النصية
List<String> names = ["راج", "جون", "روكي"];

// قائمة مختلطة
var mixed = [18.8, 10, "جون"];

أنواع القوائم List في دارت:

  • قائمة ذات طول ثابت (Fixed Length List)
  • قائمة قابلة للتوسع (Growable List)

قائمة ذات طول ثابت (Fixed Length List):

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

void main() {
  var list = List<int>.filled(5, 0);
  print(list);
}

نتيجة الكود:

[0, 0, 0, 0, 0]

قائمة قابلة للتوسع (Growable List):

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

void main() {
  var list1 = [210, 21, 22, 33, 44, 55];
  print(list1);
}

نتيجة الكود:

[210, 21, 22, 33, 44, 55]

الوصول إلى عنصر في القائمة List:

يمكنك الوصول إلى عنصر في القائمة عن طريق الـ index الخاص به. يجب أن تتذكر أن الـ index في القائمة يبدأ دائمًا من 0.

void main() {
  var list = [210, 21, 22, 33, 44, 55];

  print(list[0]);
  print(list[1]);
  print(list[2]);
  print(list[3]);
  print(list[4]);
  print(list[5]);
}

نتيجة الكود:

210
21
22
33
44
55

الحصول على index عنصر بواسطة قيمته:

يمكنك أيضًا الحصول على الـ index الخاص بالعنصر في القائمة عن طريق قيمته.

void main() {
  var list = [210, 21, 22, 33, 44, 55];

  print(list.indexOf(22));
  print(list.indexOf(33));
}

نتيجة الكود:

2
3

معرفة طول القائمة List في دارت:

يمكنك معرفة طول القائمة باستخدام خاصية .length.

void main(){
   List<String> names = ["راج", "جون", "روكي"];
   print(names.length);
}

نتيجة الكود:

3

تغيير قيم القائمة List في دارت:

يمكنك أيضًا تغيير قيم القائمة في دارت. يمكنك فعل ذلك عن طريق listName[index]=value.

void main(){
   List<String> names = ["Raj", "John", "Rocky"];
   names[1] = "Bill";
   names[2] = "Elon";
   print(names);
}

نتيجة الكود:

[Raj, Bill, Elon]

قائمة قابلة للتعديل وقائمة غير قابلة للتعديل:

قائمة قابلة للتعديل تعني أنه يمكن تغييرها بعد الإعلان عنها، أما القائمة غير القابلة للتعديل فتعني أنها لا يمكن تغييرها بعد الإعلان عنها.

List<String> names = ["Raj", "John", "Rocky"]; // قائمة قابلة للتعديل
names[1] = "Bill"; // ممكن
names[2] = "Elon"; // ممكن

const List<String> names = ["Raj", "John", "Rocky"]; // قائمة غير قابلة للتعديل
names[1] = "Bill"; // غير ممكن
names[2] = "Elon"; // غير ممكن

خصائص القائمة List في دارت:

  • first: يُرجع العنصر الأول في القائمة.
  • last: يُرجع العنصر الأخير في القائمة.
  • isEmpty: يُرجع القيمة true إذا كانت القائمة فارغة والقيمة false إذا كانت القائمة غير فارغة.
  • isNotEmpty: يُرجع القيمة true إذا كانت القائمة غير فارغة والقيمة false إذا كانت القائمة فارغة.
  • length: يُرجع طول القائمة.
  • reversed: يُرجع قائمة معكوسة.
  • single: يُستخدم للتحقق مما إذا كان لدى القائمة عنصر واحد فقط ويُرجعه.

الوصول للعنصر الأول والأخير في القائمة List:

يمكنك الوصول للعنصر الأول والأخير في القائمة عن طريق:

void main() {
   List<String> drinks = ["water", "juice", "milk", "coke"];
   print("العنصر الأول في القائمة هو: ${drinks.first}");
   print("العنصر الأخير في القائمة هو: ${drinks.last}");
}

نتيجة الكود:

العنصر الأول في القائمة هو: water
العنصر الأخير في القائمة هو: coke

التحقق مما إذا كانت القائمة فارغة أم لا

يمكنك أيضًا التحقق مما إذا كانت القائمة تحتوي على أي عناصر أو لا. ستعطي النتيجة إما true أو false.

void main() {
   List<String> drinks = ["water", "juice", "milk", "coke"];
   List<int>  ages = [];
   print("هل القائمة تحتوي على عناصر؟ "+drinks.isNotEmpty.toString());
   print("هل القائمة لا تحتوي على عناصر؟ "+drinks.isEmpty.toString());
   print("هل القائمة تحتوي على عناصر؟ "+ages.isNotEmpty.toString());
   print("هل القائمة لا تحتوي على عناصر؟ "+ages.isEmpty.toString());
}

نتيجة الكود:

هل القائمة تحتوي على عناصر؟ true
هل القائمة لا تحتوي على عناصر؟ false
هل القائمة تحتوي على عناصر؟ false
هل القائمة لا تحتوي على عناصر؟ true

عكس القائمة List في دارت:

يمكنك عكس القائمة بسهولة باستخدام خاصية .reversed. هنا مثال أدناه:

void main() {
   List<String> drinks = ["water", "juice", "milk", "coke"]; 
   print("List in reverse: ${drinks.reversed}");
}

نتيجة الكود:

(coke, milk, juice, water)

اضافة العناصر الي القائمة List:

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

  • add
    يضيف عنصر واحد ويعيد القائمة المعدلة.
  • addAll
    يدرج العديد من القيم إلى القائمة المعطاة، وكل قيمة مفصولة بفواصل ومحاطة بمربعين ([]).
  • insert
    يوفر إمكانية إدراج عنصر في موضع الـ index المحدد.
  • insertAll
    يدرج العديد من القيم في موضع الـ index المحدد.

مثال 1: اضافة عناصر الى القائمة باستخدام add

في هذا المثال أدناه، نحن نضيف عنصر إلى القائمة evenList باستخدام طريقة add().

void main() {  
   var evenList = [2,4,6,8,10];  
   print(evenList);  
   evenList.add(12);  
   print(evenList);  
}

نتيجة الكود:

[2, 4, 6, 8, 10] 
[2, 4, 6, 8, 10, 12]

مثال 2: اضافة عناصر الى القائمة باستخدام addAll

في هذا المثال أدناه، نحن نضيف عناصر إلى القائمة evenList باستخدام طريقة addAll().

void main() {
  var evenList = [2, 4, 6, 8, 10];
  print(evenList);
  evenList.addAll([12, 14, 16, 18]);
  print(evenList);
}

نتيجة الكود:

[2, 4, 6, 8, 10]
[2, 4, 6, 8, 10, 12, 14, 16, 18]

مثال 3: اضافة عناصر الى القائمة باستخدام insert

في هذا المثال أدناه، نحن نضيف عنصر إلى القائمة myList باستخدام طريقة insert().

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

نتيجة الكود:

[3, 4, 2, 5] 
[3, 4, 15, 2, 5]

مثال 4: اضافة عناصر الى القائمة باستخدام insertAll

في هذا المثال أدناه، نحن نضيف عناصر إلى القائمة myList باستخدام طريقة insertAll().

void main() {
  var myList = [3, 4, 2, 5];
  print(myList);
  myList.insertAll(1, [6, 7, 10, 9]);
  print(myList);
}

نتيجة الكود:

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

حذف العناصر من القائمة List:

  • remove()
    يزيل عنصر واحد من القائمة المعطاة.
  • removeAt()
    يزيل عنصرا من موضع الـ index المحدد.
  • removeLast()
    يزيل العنصر الأخير من القائمة المعطاة.
  • removeRange()
    يزيل العناصر ضمن نطاق محدد.

مثال 1: حذف عناصر من القائمة باستخدام remove

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

void main() {
  var list = [10, 20, 30, 40, 50];
  print("List before removing element : ${list}");
  list.remove(30);
  print("List after removing element : ${list}");
}

نتيجة الكود:

List before removing element : [10, 20, 30, 40, 50]
List after removing element : [10, 20, 40, 50]

مثال 2: حذف عناصر من القائمة باستخدام removeAt

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

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

نتيجة الكود:

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

مثال 3: حذف عناصر من القائمة باستخدام removeLast

في هذا المثال أدناه، نحن نزيل آخر عنصر من القائمة باستخدام طريقة removeLast().

void main() {
  var list = [10, 20, 30, 40, 50];
  print("List before removing element:${list}");
  list.removeLast();
  print("List after removing last element:${list}");
}

نتيجة الكود:

List before removing element:[10, 20, 30, 40, 50]  
List after removing last element:[10, 20, 30, 40]

مثال 4: حذف عناصر من القائمة باستخدام removeRange

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

void main() {
  var list = [10, 20, 30, 40, 50];
  print("List before removing element:${list}");
  list.removeRange(0, 3);
  print("List after removing range element:${list}");
}

نتيجة الكود:

List before removing element:[10, 20, 30, 40, 50]
List after removing range element:[40, 50]

استخدام حلقات التكرار مع القائمة Loops In List

يمكن استخدام حلقات مثل for loop، for each loop، أو أي نوع آخر من الحلقات.

مثال 1 باستخدام for each loop:

void main() {
  List<int> list = [10, 20, 30, 40, 50];
  list.forEach((n) => print(n)); 
}

نتيجة الكود:

10
20 
30
40
50

مثال 2 باستخدام for loop:

void main() {
  List<int> list = [10, 20, 30, 40, 50];
  for(var n in list){
    print(n);
  }
}

نتيجة الكود:

10
20 
30
40
50


استخدام الشروط في القائمة Conditions In List

يمكن أيضا استخدام الشروط في القائمة. هنا المتغير sad = false لذلك لا تحتوي عربة التسوق على الماء.

void main() {
  bool sad = false;
  var cart = ['milk', 'juice', if (sad) 'water'];
  print(cart);,[object Object],}

نتيجة الكود:

[milk, juice]

استخدام where مع القائمة

يمكن استخدام where مع القائمة لتصفية عناصر محددة. في هذا المثال، تتم تصفية الأرقام الزوجية فقط.

void main(){
List<int> numbers = [2,4,6,8,10,11,12,13,14]; 

List<int> even = numbers.where((number)=> number.isEven).toList();
print(even);
}

نتيجة الكود:

[2, 4, 6, 8, 10, 12, 14]

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

Arab Flutter Community 🚀

انضم إلى مجتمع Arab Flutter
شارك هذا المقال
فيسبوك تويتر Whatsapp Whatsapp لينكد ان تلغرام نسخ الرابط
المقال السابق شرح الدوال المختصرة في لغة دارت (Arrow Function In Dart) الدرس 21: شرح Arrow Function في لغة دارت (Dart)
المقال التالي شرح المجموعة Set في لغة دارت (Set in Dart) الدرس 23: شرح المجموعة Set في لغة دارت (Set in Dart)
Avatar of عبدالله يوسف
بواسطة عبدالله يوسف Founder and CEO at ArabFlutter
تابع:
أنا عبدالله يوسف، مهندس مصري ومؤسس موقع عرب فلاتر، ملهم بشغف التكنولوجيا والإبداع. كمصمم مواقع ومبرمج تطبيقات موبايل باستخدام Flutter، أستمتع بخلق عوالم رقمية فريدة ومبتكرة. تتجلى مواهبي في تصميم وتطوير واجهات مستخدم تفاعلية، حيث يمزج الجانب الجمالي بالدقة الهندسية. ما يميزني هو إلمامي الواسع بتقنيات البرمجة والتصميم، ومقدرتي على تطوير تطبيقات متنوعة عبر منصات مختلفة. أعتبر نفسي مبدعًا وملتزمًا، حيث أسعى دائمًا لتحقيق تحسين مستمر في مهاراتي وتقنياتي. أستمتع بتحديات العمل الجماعي وأؤمن بأهمية الابتكار والتطور. بفضل إبداعي والتزامي، أسعى لتقديم حلول فعّالة تلبي توقعات العملاء وتفوق عن المألوف.
اترك تعليقا اترك تعليقا

اترك تعليقاً إلغاء الرد

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
Tutorials
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
Tutorials
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
Tutorials
طريقة انشاء المجلدات باستخدام Dart
طريقة انشاء المجلدات باستخدام كود Dart تلقائيًا
Tutorials

مقالات ذات الصلة

اطلع على المزيد من المقالات المتعلقة بهذا الموضوع!
شرح العوازل في لغة دارت (Isolates in Dart)
Dart

شرح العوازل في لغة دارت (Isolates in Dart)

8
شرح الـ Stream في لغة دارت (Stream in Dart)
Dart

الدرس 57: شرح الـ Stream في لغة دارت (Stream in Dart)

8
شرح عبارات async & await في لغة دارت (Dart)
Dart

الدرس 56: شرح عبارات async & await في لغة دارت (Dart)

6
شرح مفهوم الـ Future في لغة دارت (Future In Dart)
Dart

الدرس 55: شرح مفهوم الـ Future في لغة دارت (Future In Dart)

6
شرح مفهوم الـ Asynchronous في لغة دارت (Dart)
Dart

الدرس 54: شرح مفهوم الـ Asynchronous في لغة دارت (Dart)

5
10 تمارين محلولة على Null Safety في لغة دارت Dart
Dart

الدرس 53: 10 تمارين محلولة على Null Safety في لغة دارت Dart

5
أظهر المزيد
شعار موقع عرب فلاتر شعار موقع عرب فلاتر

About US

Quick Links

  • خدماتنا
  • من نحن
  • اتصل بنا
  • اتفاقية استخدام
  • سياسة الخصوصية
© جميع الحقوق محفوظة موقع عرب فلاتر 2023
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
adbanner
تم اكتشاف مانع إعلانات
مرحبًا، يرجى إيقاف مانع الإعلانات. الإعلانات تُساهم في دعم موقعنا وتغطية جزء من تكاليف الاستضافة وتطوير المحتوى. شكرًا لتفهمك ودعمك.
Okay, I'll Whitelist
Welcome Back!

Sign in to your account

هل نسيت كلمة المرور؟