زبان دارت Dart

آموزش کار با لیست و آرایه در زبان برنامه نویسی دارت Dart

مجموعه ها یکی از پرکاربرد ترین نوع داده ها در برنامه نویسی میباشند.

مجموعه ها شامل انواع مختلفی هستند.

یکی از ساختمان داده های متداول در برنامه نویسی که از آن به دفعات استفاده می شود ساختمانه داده آرایه هست.

ساختمان داده لیست در برنامه نویسی

در برنامه‌نویسی، لیست یک نوع داده‌ی ساختاری است که اجازه می‌دهد تعدادی از اشیاء یا داده‌ها را در یک مجموعه مرتب ذخیره کنید.

این اشیاء می‌توانند از همان نوع داده‌ی اولیه یا از نوع‌های داده‌ای مختلف باشند. لیست‌ها معمولاً برای نگهداری داده‌های مرتب شده به کار می‌روند و امکانات مختلفی برای اضافه کردن، حذف، جستجو و تغییر اطلاعات در داخل آنها را فراهم می‌کنند.

در بیشتر زبان‌های برنامه‌نویسی، لیست‌ها با نام‌های مختلف می‌آیند. بعضی از معروف‌ترین نام‌های این نوع داده در زبان‌های مختلف عبارت‌اند از:

  • در زبان جاوا: ArrayList یا List
  • در زبان پایتون: list
  • در زبان C#: List
  • در زبان جاوا اسکریپت: Array یا Array-like Object

به کمک لیست‌ها، شما می‌توانید به سادگی داده‌ها را دسته‌بندی و مدیریت کنید و به نتیجه‌ی مطلوب برسید. همچنین، لیست‌ها یکی از ساختارهای مهم و پرکاربرد در برنامه‌نویسی هستند و در اکثر پروژه‌ها استفاده می‌شوند.

به شکل ساده اگر بخواهیم توضیح دهیم آرایه در واقع مجموعه از متغیر هاست.

برای مثال من یک آرایه از نوع int تعریف میکنیم و طول آرایه خودم و میذارم 3 حالا من 3 عدد متغیر از نوع int دارم که میتونم مثل متغیر های معمولی از آنها استفاده کنم.

در هنگام تعریف یک آرایه حتما باید سایز یا طول آرایه را نیز تعیین کنیم.

ساختمان داده دیگری که در برنامه نویسی داریم لیست هست. لیست کاملا شبیه به آرایه هست ولی نیازی نیست که طولی برای آن تعیین کنیم.

به تمام عناصری که در یک آرایه یا لیست ذخیره میشوند عنصر یا ایندکس میگویند که با یک شماره محل قرارگیری آن مشخص شده است و این شماره گذاری از عدد صفر شروع میشود. بنابراین شماره ایندکس اولین عنصر برابر صفر است و شماره آخرین عنصر یک واحد کمتر از طول آرایه میباشد.

تعریف لیست و آرایه در زبان دارت

در زبان دارت آرایه همان کلاس لیست می باشد که از متد سازنده دیگری برای تعریف آن استفاده میشود.

در واقع در زبان دارت دو نوع لیست با اندازه ثابت و متغیر داریم که لیست با اندازه ثابت نقش همان آرایه را ایفا میکند. روش تعریف آن به شکل زیر می باشد.

 var countries = new List.filled(3,'');
  countries[0] = 'Iran';
  countries[1] = 'Turkey';
  countries[2] = 'Spain';
  print(countries);
  print(countries[2]);

در کد بالا یک لیست با اندازه 3 تعریف کردیم که سپس هر خونه آن را با نام یک کشور مقدار دهی کردیم.

پارامتر اول طول لیست را مشخص میکند و پارامتر مقدار پیش فرضی که میخواهید در هر خانه قرار بگیرد را تعیین میکند.

برای دسترسی به محتویات هر خانه کافیست نام لیست را نوشته و در جلوی آن داخل یک جفت [ ] شماره خانه ای که نیاز دارید را مشخص کنید.

در این مثال یک بار محتویات کل لیست را نمایش میدهیم و در خط بعدی فقط مقدار خانه شماره 2 یعنی آخرین عنصر را نمایش میدهیم.

خروجی کد بالا به شکل میباشد:

[Iran, Turkey, Spain]
Spain

برای اینکه یک لیست با طول متغیر داشته باشید کافیست به شکل زیر آن را تعریف کنید.

List countries = [];
  countries.add('Iran');
  countries.add('Turkey');
  countries.add('Spain');
  print(countries);
  print(countries[2]);

در مثال بالا ما یک لیست تعریف کردیم ولی طول یا اندازه برای آن تعریف نکردیم و در خطوط بعدی با دستور add آیتم های جدید به لیست خود اضافه می کنیم و لیست ما با این کار اندازه ای قابل تغییر دارد.

کلاس لیست متدهای پر کاربردی دارد که میتوانیم از آنها در طول برنامه استفاده کنیم.

برای مثال اگر نیاز دارید که اندازه طول یک لیست را دریافت کنید کافیست از ویژگی length استفاده کنید.

برای پاک کردن تمام عناصر متد clear این کار را به راحتی انجام میدهد.

با استفاده از متد insert میتوانید یک آیتم جدید را شماره ایندکس خاصی اضافه کنید.

countries.insert(1, "Italy");

اگر بخواهیم کل اعضای یک لیست را نمایش دهیم میتوانیم از حلقه ها استفاده کنیم.

در مثال زیر من از حلقه for استفاده میکنم.

در این حلقه ابتدا مقدار i را برابر صفر قرار میدهم و سپس با هر بار چرخش یکی به مقدار آن اضافه میکنم تا به اندازه طول لیست برسد.

 for(int i=0;i<countries.length;i++){
    print(countries[i]);
  }

خروجی کد بالا نمایش تک تک عناصر لیست می باشد.

متدهای مهم کلاس لیست در فلاتر

در زبان دارت، کلاس List از جمله کلاس‌های پیش‌فرض برای کار با لیست‌ها است.
این کلاس از کلاس‌های ابتدایی است که می‌توان از آن برای مدیریت لیست‌ها و داده‌های مرتبط با آن‌ها استفاده کرد. در زیر، متدهای کاربردی و پرکاربرد این کلاس برای کار با لیست‌ها آمده است:

addAll: افزودن یک لیست جدید از عناصر به انتهای لیست فعلی.

List<int> numbers = [1, 2, 3];
List<int> additionalNumbers = [4, 5, 6];
numbers.addAll(additionalNumbers);
// حالا لیست numbers شامل [1, 2, 3, 4, 5, 6] است.

remove: حذف اولین وقوع یک مقدار مشخص از لیست.

List<String> fruits = ['apple', 'banana', 'orange', 'banana'];
fruits.remove('banana');
// حالا لیست fruits شامل ['apple', 'orange', 'banana'] است.

removeAt: حذف عنصر در یک اندیس مشخص.

List<int> numbers = [1, 2, 3, 4, 5];
numbers.removeAt(2);
// حالا لیست numbers شامل [1, 2, 4, 5] است.

clear: حذف تمام عناصر از لیست.

List<String> fruits = ['apple', 'banana', 'orange'];
fruits.clear();
// حالا لیست fruits خالی است.

contains: بررسی وجود یک مقدار در لیست.

List<int> numbers = [1, 2, 3, 4, 5];
bool containsNumber = numbers.contains(3); // خروجی: true

برای یادگیری برنامه نویسی فلاتر به شکل پروژه محور و از مقدماتی تا پیشرفته میتوانید از دوره آموزش فلاتر مجموعه استفاده نمایید.

Hesam

View Comments

  • سلام ببخشید برای تست کد دارت از dartpad میخوام استفاده کنم اما وقتی بازش میکنم و میخام run کنم

    Error compiling to JavaScript:
    XMLHttpRequest error

    این ارور رو میده چیکار باید بکنم؟

    • سلام معذرت میخوام برای دیر پاسخ دادن
      کد خاصی نوشتید یا نمونه کد اولیه و ران میکنید؟
      از فیلترشکن استفاده کنید یا مرورگر و اپدیت کنید احتمال داره آی پی شما نمیتونه کدهای ذخیره شده روی سرور دارت و بخونه

Recent Posts

گیتهاب اکشن چیست؟ آموزش استفاده از گیتهاب اکشن در برنامه نویسی فلاتر

گیتهاب اکشن GitHub Actions یکی از ابزارهای گیتهاب است که به شما کمک می‌کنه تا…

13 ساعت ago

آموزش افزایش سرعت اجرای وب اپلیکیشن های فلاتر

اگر یک برنامه نویس فلاتر هستید و با از نسخه وب اپلیکیشن پروژتون استفاده میکنید…

4 هفته ago

آموزش جامع انتشار اپلیکیشن اندروید و فلاتر در فروشگاه گوگل پلی Google play

به عنوان یک برنامه نویس فلاتر یا اندروید بعد از اتمام پروسه طراحی اپلیکیشن نیاز…

2 ماه ago

دانلود سورس کد رابط کاربری اپلیکیشن فلاتر پروژه پادکست

طراحی رابط کاربری اپلیکیشن پادکست خود را با استفاده از این کیت توسعه UI/UX فلاتر…

2 ماه ago

فایربیس چیست؟ معرفی سرویس ابری Firebase و کاربردهای آن

فایربیس، پلتفرمی قدرتمند از شرکت گوگل برای توسعه و مدیریت برنامه‌های موبایل و وب است.…

2 ماه ago

آموزش پیاده سازی Method Channel در فلاتر + فیلم

فلاتر یک فریم ورک برنامه نویسی چندسکویی است که این امکان را برای برنامه نویس…

3 ماه ago