কমপ্লেক্স ডেটা টাইপস Apex-এ ডেটার একটি বড় সংগ্রহ সংরক্ষণ ও ম্যানেজ করার জন্য ব্যবহার করা হয়। কমপ্লেক্স ডেটা টাইপের মধ্যে List, Set, এবং Map উল্লেখযোগ্য, যা বিভিন্ন ধরনের ডেটা স্টোরেজ এবং ম্যানিপুলেশনের জন্য Apex-এ বিশেষভাবে ব্যবহৃত হয়।
১. List
List হলো এমন একটি ডেটা স্ট্রাকচার যেখানে একই ধরনের একাধিক ডেটা সিকোয়েন্স বা অর্ডারের ভিত্তিতে সংরক্ষণ করা হয়। List-এ ডুপ্লিকেট মান থাকতে পারে এবং ইনডেক্স ব্যবহার করে আইটেম এক্সেস করা যায়।
List-এর বৈশিষ্ট্য:
- ডুপ্লিকেট মান সংরক্ষণ করতে পারে।
- ইনডেক্স ব্যবহার করে ডেটা এক্সেস এবং মডিফাই করা যায়।
newকিওয়ার্ড এবংListক্লাস ব্যবহার করে List তৈরি করা যায়।
List উদাহরণ:
// String টাইপের একটি List তৈরি
List<String> cities = new List<String>{'Dhaka', 'Chittagong', 'Khulna'};
// List এ নতুন আইটেম যোগ করা
cities.add('Rajshahi');
// List থেকে আইটেম বের করা
String firstCity = cities[0]; // Dhaka
System.debug('First city: ' + firstCity);
// List এর সাইজ পাওয়া
Integer listSize = cities.size();
System.debug('List size: ' + listSize);
সাধারণত ব্যবহৃত List মেথড:
- add(value): List-এ একটি আইটেম যোগ করে।
- addAll(collection): একাধিক আইটেম যোগ করে।
- get(index): নির্দিষ্ট ইনডেক্সের আইটেম রিটার্ন করে।
- remove(index): নির্দিষ্ট ইনডেক্সের আইটেম রিমুভ করে।
- clear(): List-এর সব আইটেম মুছে ফেলে।
- size(): List-এর মোট আইটেম সংখ্যা রিটার্ন করে।
২. Set
Set হলো একটি ডেটা স্ট্রাকচার যা ইউনিক মান সংরক্ষণ করতে ব্যবহার করা হয়। Set-এ কোনো ডুপ্লিকেট মান থাকতে পারে না এবং এতে কোনো অর্ডার থাকে না, তাই ইনডেক্স ব্যবহার করা যায় না।
Set-এর বৈশিষ্ট্য:
- ইউনিক মান সংরক্ষণ করে, কোনো ডুপ্লিকেট মান থাকে না।
- ইনডেক্সিং সাপোর্ট না করায় সরাসরি কোনো নির্দিষ্ট মান অ্যাক্সেস করা যায় না।
newকিওয়ার্ড এবংSetক্লাস ব্যবহার করে Set তৈরি করা যায়।
Set উদাহরণ:
// Integer টাইপের একটি Set তৈরি
Set<Integer> uniqueNumbers = new Set<Integer>{1, 2, 3, 4};
// Set এ নতুন আইটেম যোগ করা
uniqueNumbers.add(5);
// ডুপ্লিকেট আইটেম যোগ করলে কোনো পরিবর্তন হবে না
uniqueNumbers.add(3);
// Set-এর সাইজ পাওয়া
Integer setSize = uniqueNumbers.size();
System.debug('Set size: ' + setSize); // আউটপুট: 5
সাধারণত ব্যবহৃত Set মেথড:
- add(value): Set-এ একটি ইউনিক আইটেম যোগ করে।
- addAll(collection): একাধিক আইটেম যোগ করে।
- remove(value): নির্দিষ্ট মানের আইটেম রিমুভ করে।
- contains(value): নির্দিষ্ট মানের উপস্থিতি যাচাই করে।
- clear(): Set-এর সব আইটেম মুছে ফেলে।
- size(): Set-এর মোট আইটেম সংখ্যা রিটার্ন করে।
৩. Map
Map হলো একটি ডেটা স্ট্রাকচার যা কী-ভ্যালু পেয়ার ফরম্যাটে ডেটা সংরক্ষণ করে। প্রতিটি কী একটি ইউনিক মান ধারণ করে এবং তার সাথে সম্পর্কিত একটি ভ্যালু থাকে।
Map-এর বৈশিষ্ট্য:
- কী ইউনিক এবং মান ডুপ্লিকেট হতে পারে।
- সরাসরি কী ব্যবহার করে ভ্যালু অ্যাক্সেস করা যায়।
newকিওয়ার্ড এবংMapক্লাস ব্যবহার করে Map তৈরি করা যায়।
Map উদাহরণ:
// String এবং Integer টাইপের কী-ভ্যালু পেয়ার সহ একটি Map তৈরি
Map<String, Integer> ageMap = new Map<String, Integer>{'John' => 25, 'Doe' => 30};
// Map এ নতুন কী-ভ্যালু পেয়ার যোগ করা
ageMap.put('Smith', 28);
// একটি কী থেকে ভ্যালু বের করা
Integer age = ageMap.get('Doe'); // আউটপুট: 30
System.debug('Age of Doe: ' + age);
// Map এর সাইজ পাওয়া
Integer mapSize = ageMap.size();
System.debug('Map size: ' + mapSize); // আউটপুট: 3
সাধারণত ব্যবহৃত Map মেথড:
- put(key, value): নির্দিষ্ট কী-ভ্যালু পেয়ার যোগ করে।
- get(key): নির্দিষ্ট কী-র ভ্যালু রিটার্ন করে।
- remove(key): নির্দিষ্ট কী এবং তার ভ্যালু রিমুভ করে।
- containsKey(key): নির্দিষ্ট কী এর উপস্থিতি যাচাই করে।
- clear(): Map-এর সব কী-ভ্যালু পেয়ার মুছে ফেলে।
- size(): Map-এর মোট কী-ভ্যালু সংখ্যা রিটার্ন করে।
সংক্ষেপে: List, Set, এবং Map তুলনা
| বৈশিষ্ট্য | List | Set | Map |
|---|---|---|---|
| ইউনিক মান | না | হ্যাঁ | কী ইউনিক, ভ্যালু ডুপ্লিকেট |
| ইনডেক্সিং | হ্যাঁ | না | না |
| অর্ডার | সিকোয়েন্সে সংরক্ষিত | কোনো নির্দিষ্ট অর্ডার নেই | কোনো নির্দিষ্ট অর্ডার নেই |
| উদাহরণ | List<String> | Set<Integer> | Map<String, Integer> |
| ব্যবহার | একাধিক মান সংরক্ষণ | ইউনিক মান সংরক্ষণ | কী-ভ্যালু পেয়ার সংরক্ষণ |
উপসংহার:
List, Set এবং Map Apex-এ ডেটা সংগ্রহ এবং ম্যানিপুলেশনের জন্য বিশেষভাবে ব্যবহৃত হয়। List সিকোয়েন্স হিসেবে এবং ডুপ্লিকেটসহ ডেটা সংরক্ষণ করতে ব্যবহৃত হয়, Set ইউনিক মান সংরক্ষণ করতে উপযোগী, এবং Map কী-ভ্যালু পেয়ার সংরক্ষণ ও পরিচালনার জন্য সহায়ক। এই তিনটি ডেটা টাইপ কমপ্লেক্স ডেটা সংরক্ষণ ও ব্যবহারের ক্ষেত্রে Apex-এ বিভিন্ন ধরনের কার্যক্রম সহজ করে।
Read more