By using this site, you agree to the Privacy Policy and Terms of Use.
موافق
عرب فلاترعرب فلاتر
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
قراءة: الدرس 24: شرح الـ Map في لغة دارت (Map 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 > الدرس 24: شرح الـ Map في لغة دارت (Map in Dart)
Dart

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

عبدالله يوسف
أخر تحديث 2024/11/15
بواسطة عبدالله يوسف اضف تعليق 6 دقيقة للقراءة 4410 مشاهدات 4
شارك
شرح الـ Map في لغة دارت (Map in Dart)
شرح الـ Map في لغة دارت (Map in Dart)
شارك

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

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

تعتبر الـ Map في لغة Dart من أهم المفاهيم في مجال التجميعات (Collections). فهي تسمح لنا بتخزين البيانات بصورة مفهومة ومنظمة، حيث يتم تخزين البيانات على شكل أزواج من المفاتيح والقيم. في هذه المقالة، سنتعرف على كيفية إنشاء الـ Map في Dart وكيفية الوصول إلى القيم بناءً على المفاتيح، بالإضافة إلى خصائص الـ Map المهمة والدوال المفيدة التي يمكن استخدامها مع الـ Map.

المحتويات
طريقة إنشاء الـ Map في دارت:الوصول إلى القيم من الـ Map:خصائص الـ Map في دارت:إضافة عناصر إلى الـ Map:تحديث عنصر في الـ Map:أهم دوال الـ Map في دارت:

طريقة إنشاء الـ Map في دارت:

لإنشاء الـ Map في دارت، نستخدم هذه الأقواس ({}) ونعين أزواج المفتاح والقيمة لها. فيما يلي مثال على إنشاء الـ Map بمفاتيح وقيم من نوع String:

void main() {
  Map<String, String> countryCapital = {
    'USA': 'Washington, D.C.',
    'India': 'New Delhi',
    'China': 'Beijing',
  };
  print(countryCapital);
}

نتيجة الكود:

{USA: Washington, D.C., India: New Delhi, China: Beijing}

الوصول إلى القيم من الـ Map:

للوصول إلى القيمة من الـ Map باستخدام المفتاح الخاص بها، يمكننا استخدام الأقواس المربعة ([]) وتوفير المفتاح. فيما يلي مثال:

void main() {
  Map<String, String> countryCapital = {
    'USA': 'Washington, D.C.',
    'India': 'New Delhi',
    'China': 'Beijing',
  };
  print(countryCapital['USA']);
}

نتيجة الكود:

Washington, D.C.

خصائص الـ Map في دارت:

توفر دارت عدة خصائص يمكن استخدامها مع الـ Map:

  1. keys: تعيد جميع المفاتيح في الـ Map.
  2. values: تعيد جميع القيم في الـ Map.
  3. isEmpty: تعيد true إذا كانت الـ Map فارغة، وإلا فإنها تعيد false.
  4. isNotEmpty: تعيد true إذا كانت الـ Map غير فارغة، وإلا فإنها تعيد false.
  5. length: تعيد عدد أزواج المفتاح والقيمة في الـ Map.

فيما يلي مثال يوضح استخدام هذه الخصائص:

void main() {
  Map<String, double> expenses = {
    'sun': 3000.0,
    'mon': 3000.0,
    'tue': 3234.0,
  };

  print("جميع المفاتيح في الـ Map هي: ${expenses.keys}");
  print("جميع القيم في الـ Map هي: ${expenses.values}");
  print("هل الـ Map فارغة: ${expenses.isEmpty}");
  print("هل الـ Map غير فارغة: ${expenses.isNotEmpty}");
  print("طول الـ Map هو: ${expenses.length}");
}

نتيجة الكود:

جميع المفاتيح في الـ Map هي: (sun, mon, tue)
جميع القيم في الـ Map هي: (3000, 3000, 3234)
هل الـ Map فارغة: false
هل الـ Map غير فارغة: true
طول الـ Map هو: 3

إضافة عناصر إلى الـ Map:

لإضافة زوج مفتاح وقيمة جديد إلى Map موجودة، يمكننا ببساطة تعيين قيمة لمفتاح جديد باستخدام الأقواس المربعة ([]). فيما يلي مثال:

void main() {
  Map<String, String> countryCapital = {
    'USA': 'Washington, D.C.',
    'India': 'New Delhi',
    'China': 'Beijing',
  };

  // إضافة عنصر جديد
  countryCapital['Japan'] = 'Tokyo';
  print(countryCapital);
}

نتيجة الكود:

{USA: Washington, D.C., India: New Delhi, China: Beijing, Japan: Tokyo}

تحديث عنصر في الـ Map:

لتحديث قيمة مفتاح موجود في الـ Map، يمكننا ببساطة تعيين قيمة جديدة لذلك المفتاح. فيما يلي مثال:

void main() {
  Map<String, String> countryCapital = {
    'USA': 'Nothing',
    'India': 'New Delhi',
    'China': 'Beijing',
  };

  // تحديث عنصر
  countryCapital['USA'] = 'Washington, D.C.';
  print(countryCapital);
}

نتيجة الكود:

{USA: Washington, D.C., India: New Delhi, China: Beijing}

أهم دوال الـ Map في دارت:

توفر دارت دوال مفيدة للعمل مع الـ Map:

  1. keys.toList(): يحول جميع المفاتيح في الـ Map إلى قائمة List.
  2. values.toList(): يحول جميع القيم في الـ Map إلى قائمة List.
  3. containsKey('key'): يتحقق مما إذا كانت الـ Map تحتوي على مفتاح محدد ويعيد القيمة صحيح أو خطأ.
  4. containsValue('value'): يتحقق مما إذا كانت الـ Map تحتوي على قيمة محددة ويعيد القيمة صحيح أو خطأ.
  5. clear(): يزيل جميع العناصر من الـ Map.
  6. removeWhere(): يزيل جميع العناصر من الـ Map إذا كانت الشرط المعطى صحيحة.

فيما يلي مثال يوضح استخدام هذه الدوال:

void main() {
  Map<String, double> expenses = {
    'sun': 3000.0,
    'mon': 3000.0,
    'tue': 3234.0,
  };

  // تحويل المفاتيح إلى قائمة List
  List<String> keysList = expenses.keys.toList();
  print("Keys as List: $keysList");

  // تحويل القيم إلى قائمة List
  List<double> valuesList = expenses.values.toList();
  print("Values as List: $valuesList");

  // التحقق مما إذا كانت الـ Map تحتوي على مفتاح محدد
  bool containsKey = expenses.containsKey('sun');
  print("Does Map contain 'sun' key? $containsKey");

  // التحقق مما إذا كانت الـ Map تحتوي على قيمة محددة
  bool containsValue = expenses.containsValue(3000.0);
  print("Does Map contain value 3000.0? $containsValue");

  // مسح الـ Map
  expenses.clear();
  print("Map after clearing: $expenses");
}

نتيجة الكود:

Keys as List: [sun, mon, tue]
Values as List: [3000.0, 3000.0, 3234.0]
Does Map contain 'sun' key? true
Does Map contain value 3000.0? true
Map after clearing: {}

في المثال أعلاه، قمنا بتحويل المفاتيح والقيم إلى قوائم List باستخدام keys.toList() و values.toList()، كما قمنا بالتحقق مما إذا كانت الـ Map تحتوي على مفتاح أو قيمة محددة باستخدام containsKey('key') و containsValue('value')، بالإضافة إلى ذلك، قمنا بمسح الـ Map باستخدام الأسلوب clear().


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

Arab Flutter Community 🚀

انضم إلى مجتمع Arab Flutter
شارك هذا المقال
فيسبوك تويتر Whatsapp Whatsapp لينكد ان تلغرام نسخ الرابط
المقال السابق شرح المجموعة Set في لغة دارت (Set in Dart) الدرس 23: شرح المجموعة Set في لغة دارت (Set in Dart)
المقال التالي شرح تصفية البيانات في لغة دارت (Where in Dart) الدرس 25: شرح تصفية البيانات في لغة دارت (Where 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

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