دیتا تایپ Map
در زبان برنامهنویسی دارت یک نوع دادهای است که به شما اجازه میدهد تا دادهها را به شکل زوجهای کلید-مقدار ذخیره کنید. هر کلید در Map
یکتاست و نمیتوانید دوباره آن را اضافه کنید. مقدار هر کلید میتواند هر نوع دادهای باشد.
برای ایجاد یک Map
جدید در دارت، از کانستراکتور Map()
استفاده کنید. برای مثال:
Map<String, int> myMap = new Map<String, int>();
در این مثال، myMap
یک Map
است که کلیدها به صورت رشته و مقادیر به صورت عدد صحیح هستند. میتوانید دادهها را به Map
با استفاده از عملگر []
اضافه کنید. برای مثال:
myMap['one'] = 1;
myMap['two'] = 2;
myMap['three'] = 3;
در این مثال، سه زوج کلید-مقدار به myMap
اضافه شدهاند. میتوانید مقدار را با استفاده از کلید به دست آورید. برای مثال:
print(myMap['one']); // خروجی: 1
در صورتی که کلید وجود نداشته باشد، null
برگردانده میشود. میتوانید با استفاده از دستور containsKey()
بررسی کنید که آیا کلید در Map
وجود دارد یا خیر. برای مثال:
print(myMap.containsKey('four')); // خروجی: false
همچنین، میتوانید با استفاده از دستور remove()
یک زوج کلید-مقدار را از Map
حذف کنید. برای مثال:
myMap.remove('two');
در این مثال، زوج کلید-مقدار با کلید 'two'
از myMap
حذف شده است.
در نهایت، میتوانید با استفاده از دستور forEach()
برای گرفتن تمامی زوجهای کلید-مقدار از Map
استفاده کنید. برای مثال:
myMap.forEach((key, value) {
print('$key: $value');
});
در این مثال، تمامی زوجهای کلید-مقدار در myMap
با استفاده از دستور forEach()
گرفته شده و چاپ شدهاند.
در دارت، Map
میتواند با هر نوع دادهای به عنوان کلید و مقدار استفاده شود، به شرطی که کلید یکتا باشد. برای مثال، میتوانید از Map
با نوع کلید یک رشته و نوع مقدار یک لیست استفاده کنید. برای مثال:
Map<String, List<int>> myMap = new Map<String, List<int>>();
در این مثال، myMap
یک Map
است که کلیدها به صورت رشته و مقادیر به صورت لیستی از اعداد صحیح هستند.
به عنوان جمعبندی، Map
در دارت یک نوع دادهای است که به شما اجازه میدهد تا دادهها را به شکل زوجهای کلید-مقدار ذخیره کنید. هر کلید در Map
یکتاست و نمیتوانید دوباره آن را اضافه کنید. میتوانید دادهها را به Map
با استفاده از عملگر []
اضافه کنید، مقدار را با استفاده از کلید به دست آورید، زوج کلید-مقدار را با استفاده از دستور forEach()
بگیرید و زوج کلید-مقدار را با استفاده از دستور remove()
حذف کنید.
همچنین، دارت برای Map
ها متدهای دیگری نیز فراهم کرده است که این متدها به شما اجازه میدهند تا اطلاعات داخل Map
را بررسی کنید و با آنها کار کنید. برخی از این متدها عبارتند از:
isEmpty
: بررسی میکند کهMap
خالی است یا نه.isNotEmpty
: بررسی میکند کهMap
خالی نیست.length
: تعداد زوجهای کلید-مقدار را درMap
برمیگرداند.keys
: لیستی از تمام کلیدها را برمیگرداند.values
: لیستی از تمام مقادیر را برمیگرداند.containsKey(key)
: بررسی میکند که آیا کلید مورد نظر درMap
وجود دارد یا نه.containsValue(value)
: بررسی میکند که آیا مقدار مورد نظر درMap
وجود دارد یا نه.
برای مثال، برای بررسی اینکه آیا کلیدی در Map
وجود دارد یا خیر، میتوانید از containsKey()
استفاده کنید. به عنوان مثال:
Map<String, int> myMap = {"apple": 3, "banana": 2, "orange": 1};
if (myMap.containsKey("apple")) {
print("The key 'apple' exists in the map.");
} else {
print("The key 'apple' does not exist in the map.");
}
در این مثال، با استفاده از containsKey() بررسی میشود که آیا کلید “apple” در myMap وجود دارد یا نه.
از آنجا که Map یکی از ابزارهای مفیدی برای ذخیره دادههای داخل برنامههای دارت است، در صورتی که میخواهید با زبان دارت کار کنید، توصیه میشود که با Map ها و روشهای استفاده از آنها آشنا شوید و تمیرین لازم را داشته باشید.