List, Map এবং অন্যান্য Collections এ Generics
Dart-এ Generics ব্যবহার করে Collections (যেমন List, Map, Set) তৈরি করা হয় যা টাইপ নিরাপত্তা নিশ্চিত করে এবং কোডকে আরও পরিষ্কার এবং পুনঃব্যবহারযোগ্য করে। নিচে List, Map এবং অন্যান্য Collections এ Generics এর ব্যবহার বিস্তারিতভাবে আলোচনা করা হলো।
১. List
List হল একটি অর্ডার্ড কালেকশন যেখানে একাধিক উপাদান রাখা যায়। জেনেরিক্স ব্যবহার করে, আপনি নিশ্চিত করতে পারেন যে লিস্টে শুধুমাত্র একটি নির্দিষ্ট ডেটা টাইপের উপাদান রয়েছে।
উদাহরণ:
void main() {
// Generic List of integers
List<int> numbers = [1, 2, 3, 4, 5];
numbers.add(6);
print(numbers); // Output: [1, 2, 3, 4, 5, 6]
// Generic List of strings
List<String> fruits = ['Apple', 'Banana', 'Mango'];
print(fruits); // Output: [Apple, Banana, Mango]
}
২. Map
Map হল একটি অসংলগ্ন কালেকশন যেখানে key-value পেয়ার রাখা হয়। জেনেরিক্স ব্যবহার করে, আপনি কী এবং মান উভয়ের টাইপ নির্ধারণ করতে পারেন।
উদাহরণ:
void main() {
// Generic Map
Map<String, int> ageMap = {
'Alice': 30,
'Bob': 25,
'Charlie': 35,
};
print(ageMap['Alice']); // Output: 30
// Adding a new key-value pair
ageMap['David'] = 28;
print(ageMap); // Output: {Alice: 30, Bob: 25, Charlie: 35, David: 28}
}
৩. Set
Set হল একটি ইউনিক কালেকশন যেখানে ডুপ্লিকেট উপাদান রাখা যায় না। জেনেরিক্স ব্যবহার করে, আপনি নিশ্চিত করতে পারেন যে সেটে শুধুমাত্র একটি নির্দিষ্ট ডেটা টাইপের উপাদান রয়েছে।
উদাহরণ:
void main() {
// Generic Set of integers
Set<int> numberSet = {1, 2, 3, 4, 5};
numberSet.add(3); // Will not be added (duplicate)
numberSet.add(6); // Will be added
print(numberSet); // Output: {1, 2, 3, 4, 5, 6}
}
৪. Queue
Queue একটি ডাটা স্ট্রাকচার যা ফার্স্ট ইন ফার্স্ট আউট (FIFO) নীতি অনুসরণ করে। Dart-এ Queue ক্লাসটি dart:collection লাইব্রেরির অংশ।
উদাহরণ:
import 'dart:collection';
void main() {
// Generic Queue of strings
Queue<String> queue = Queue<String>();
queue.add('First');
queue.add('Second');
queue.add('Third');
print(queue.removeFirst()); // Output: First
print(queue); // Output: (Second, Third)
}
৫. Using Generics with Collections
Generics ব্যবহার করে কাস্টম ফাংশন তৈরি করা যা লিস্ট বা ম্যাপের সাথে কাজ করতে পারে।
উদাহরণ:
// Function to print elements of a List
void printList<T>(List<T> items) {
for (var item in items) {
print(item);
}
}
void main() {
List<String> colors = ['Red', 'Green', 'Blue'];
printList(colors); // Output: Red, Green, Blue
List<int> numbers = [10, 20, 30];
printList(numbers); // Output: 10, 20, 30
}
উপসংহার
Dart-এ জেনেরিক্স ব্যবহার করে Collections (যেমন List, Map, Set) তৈরি করা একটি শক্তিশালী কৌশল। এটি টাইপ নিরাপত্তা, কোড পুনঃব্যবহার, এবং পরিষ্কার কোড লেখার সুযোগ দেয়। জেনেরিক্সের মাধ্যমে, আপনি আপনার ডেটা স্ট্রাকচারগুলিকে আরও কার্যকরী এবং নিরাপদ করতে পারেন।
Read more