آموزش کار با لیست و آرایه در زبان برنامه نویسی دارت Dart
مجموعه ها یکی از پرکاربرد ترین نوع داده ها در برنامه نویسی میباشند.
مجموعه ها شامل انواع مختلفی هستند.
یکی از ساختمان داده های متداول در برنامه نویسی که از آن به دفعات استفاده می شود ساختمانه داده آرایه هست.
ساختمان داده لیست در برنامه نویسی
در برنامهنویسی، لیست یک نوع دادهی ساختاری است که اجازه میدهد تعدادی از اشیاء یا دادهها را در یک مجموعه مرتب ذخیره کنید.
این اشیاء میتوانند از همان نوع دادهی اولیه یا از نوعهای دادهای مختلف باشند. لیستها معمولاً برای نگهداری دادههای مرتب شده به کار میروند و امکانات مختلفی برای اضافه کردن، حذف، جستجو و تغییر اطلاعات در داخل آنها را فراهم میکنند.
در بیشتر زبانهای برنامهنویسی، لیستها با نامهای مختلف میآیند. بعضی از معروفترین نامهای این نوع داده در زبانهای مختلف عبارتاند از:
- در زبان جاوا: ArrayList یا List
- در زبان پایتون: list
- در زبان C#: List
- در زبان جاوا اسکریپت: Array یا Array-like Object
به کمک لیستها، شما میتوانید به سادگی دادهها را دستهبندی و مدیریت کنید و به نتیجهی مطلوب برسید. همچنین، لیستها یکی از ساختارهای مهم و پرکاربرد در برنامهنویسی هستند و در اکثر پروژهها استفاده میشوند.
به شکل ساده اگر بخواهیم توضیح دهیم آرایه در واقع مجموعه از متغیر هاست.
برای مثال من یک آرایه از نوع int تعریف میکنیم و طول آرایه خودم و میذارم ۳ حالا من ۳ عدد متغیر از نوع int دارم که میتونم مثل متغیر های معمولی از آنها استفاده کنم.
در هنگام تعریف یک آرایه حتما باید سایز یا طول آرایه را نیز تعیین کنیم.
ساختمان داده دیگری که در برنامه نویسی داریم لیست هست. لیست کاملا شبیه به آرایه هست ولی نیازی نیست که طولی برای آن تعیین کنیم.
به تمام عناصری که در یک آرایه یا لیست ذخیره میشوند عنصر یا ایندکس میگویند که با یک شماره محل قرارگیری آن مشخص شده است و این شماره گذاری از عدد صفر شروع میشود. بنابراین شماره ایندکس اولین عنصر برابر صفر است و شماره آخرین عنصر یک واحد کمتر از طول آرایه میباشد.
تعریف لیست و آرایه در زبان دارت
در زبان دارت آرایه همان کلاس لیست می باشد که از متد سازنده دیگری برای تعریف آن استفاده میشود.
در واقع در زبان دارت دو نوع لیست با اندازه ثابت و متغیر داریم که لیست با اندازه ثابت نقش همان آرایه را ایفا میکند. روش تعریف آن به شکل زیر می باشد.
var countries = new List.filled(3,'');
countries[0] = 'Iran';
countries[1] = 'Turkey';
countries[2] = 'Spain';
print(countries);
print(countries[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 شامل [۱, ۲, ۳, ۴, ۵, ۶] است.
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 شامل [۱, ۲, ۴, ۵] است.
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
برای یادگیری برنامه نویسی فلاتر به شکل پروژه محور و از مقدماتی تا پیشرفته میتوانید از دوره آموزش فلاتر مجموعه استفاده نمایید.
مطالب زیر را حتما مطالعه کنید
ساخت اولین پروژه زبان برنامه نویسی دارت Dart
آموزش شی گرایی در زبان دارت: ارث بری
برنامه نویسی شی گرایی در زبان دارت: مفهوم کلاس
آشنایی با مفهوم Mixin در زبان برنامه نویسی دارت
آشنایی با اینترفیس در برنامه نویسی دارت
آشنایی با الگوی طراحی Singleton
2 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
سلام ببخشید برای تست کد دارت از dartpad میخوام استفاده کنم اما وقتی بازش میکنم و میخام run کنم
Error compiling to JavaScript:
XMLHttpRequest error
این ارور رو میده چیکار باید بکنم؟
سلام معذرت میخوام برای دیر پاسخ دادن
کد خاصی نوشتید یا نمونه کد اولیه و ران میکنید؟
از فیلترشکن استفاده کنید یا مرورگر و اپدیت کنید احتمال داره آی پی شما نمیتونه کدهای ذخیره شده روی سرور دارت و بخونه