با عرض سلام خدمت کاربران محترم سایت پی وی لرن.
با جلسه ای دیگر از سری جلسات دوره آموزش زبان برنامه نویسی دارت Dart در خدمت شما هستیم.
در این جلسه قصد داریم به آموزش مجموعه ها یا Collection ها در زبان دارت Dart بپردازیم.
همانطور که در جلسات پیش اشاره کردیم، زبان دارت برخلاف دیگر زبان های برنامه نویسی، از آرایه ها Array پشتیبانی نمیکند.
Collection های زبان دارت میتوانند برای پردازش و نگه داری مجموعه داده ها استفاده شوند. (همانند آرایه)
کتابخانه dart:core امکان استفاده از کالکشن ها در زبان دارت را میدهد.
collection های زبان دارت به ۴ نوع تقسیم میشوند:
لیست ها متغیر هایی هستند که میتوانند مجموعه ای از داده ها و اشیا را به ترتیب در خود ذخیره کنند.
منظور از ترتیب در اینجا این است که مقادیر به همان ترتیبی که وارد شده اند، در لیست قرار خواهند گرفت.
برای آشنایی بیشتر با لیست ها میتوانید به جلسه آموزش لیست ها در زبان دارت مراجعه کنید.
set ها نیز مجموعه ای از اشیا را در خود ذخیره میکنند با این تفاوت که set اعضای تکراری ندارد و هر شئ یا مقدار تنها یک بار میتواند در set ذخیره شود.
مثال:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | void main() { Set numberSet = new Set(); numberSet.add(100); numberSet.add(20); numberSet.add(5); numberSet.add(60); numberSet.add(70); print("Default implementation :${numberSet.runtimeType}"); // all elements are retrieved in the order in which they are inserted for(var no in numberSet) { print(no); } } |
خروجی:
1 2 3 4 5 | 100 20 5 60 70 |
map ها مجموعه داده ها را به صورت جفت های کلید-مقدار ذخیره میکنند.
برای آشنایی بیشتر با map ها میتوانید به آموزش map در زبان دارت مراجعه کنید.
صف ها نیز مجموعه اشیا مختلف را در خود ذخیره میکنند.
تفاوت صف با سایر مجموعه ها مانند لیست در این است که داده ها میتوانند علاوه بر انتهای مجموعه، به ابتدای مجموعه نیز اضافه شوند.
مثال زیر یک مقدار را به ابتدای صف اضافه میکند:
1 2 3 4 5 6 7 8 | import 'dart:collection'; void main() { Queue numQ = new Queue(); numQ.addAll([100,200,300]); print("Printing Q.. ${numQ}"); numQ.addFirst(400); print("Printing Q.. ${numQ}"); } |
خروجی:
1 2 3 | 100 200 300 |
مثال زیر نیز یک مقدار را به انتهای صف اضافه میکند:
1 2 3 4 5 6 7 8 9 10 | Live Demo import 'dart:collection'; void main() { Queue numQ = new Queue(); numQ.addAll([100,200,300]); print("Printing Q.. ${numQ}"); numQ.addLast(400); print("Printing Q.. ${numQ}"); } |
خروجی:
1 2 | Printing Q.. {100, 200, 300} Printing Q.. {100, 200, 300, 400} |
جلسه آموزش Collection ها در زبان دارت نیز به پایان رسید.
در جلسه بعد به آموزش Generic ها در زبان دارت خواهیم پرداخت.