Groovy তে Lists, Sets, এবং Maps এর ধারণা
Groovy তে Lists, Sets, এবং Maps হচ্ছে সংগ্রহশীল ডেটা স্ট্রাকচার, যা বিভিন্ন ধরনের ডেটা সংরক্ষণ ও প্রক্রিয়াকরণের জন্য ব্যবহার করা হয়। Java Collections Framework এর উপর ভিত্তি করে তৈরি, এগুলো Groovy তে আরও সহজে এবং সংক্ষিপ্তভাবে ব্যবহার করা যায়।
1. List
List একটি সিকোয়েন্সড সংগ্রহশীল ডেটা স্ট্রাকচার যা কোনো নির্দিষ্ট ক্রমানুসারে ডেটা সংরক্ষণ করে। Groovy তে List বিভিন্ন ধরনের ডেটা ধরতে সক্ষম এবং একই লিস্টে একাধিক ডেটা টাইপ সংরক্ষণ করা যায়।
List ডিক্লারেশন এবং ব্যবহারের উদাহরণ:
def numbers = [1, 2, 3, 4, 5]
println numbers // Output: [1, 2, 3, 4, 5]
println numbers[0] // Output: 1
println numbers.size() // Output: 5
// মান যোগ করা
numbers << 6
println numbers // Output: [1, 2, 3, 4, 5, 6]
// মান মুছে ফেলা
numbers.remove(2)
println numbers // Output: [1, 2, 4, 5, 6]List এর বৈশিষ্ট্য:
- ক্রমানুসারে সংরক্ষণ: List এ উপাদানগুলি সংরক্ষণ করা হয় একটি নির্দিষ্ট ক্রমে।
- ডুপ্লিকেট মান গ্রহণযোগ্য: List এ ডুপ্লিকেট মান গ্রহণযোগ্য।
- ইনডেক্সিং: List এ ইনডেক্সিং ব্যবহারের মাধ্যমে নির্দিষ্ট উপাদানে অ্যাক্সেস করা যায়।
পার্থক্য Java এর সাথে: Java তে ArrayList ব্যবহার করে List তৈরি করা হয়, কিন্তু Groovy তে সরাসরি [] ব্যবহার করেই List ডিক্লার করা যায়।
2. Set
Set একটি সংগ্রহশীল ডেটা স্ট্রাকচার যা ইউনিক মান সংরক্ষণ করে। অর্থাৎ, কোনো উপাদানের ডুপ্লিকেট থাকা যাবে না। Set এর উপাদানগুলোর নির্দিষ্ট কোনো ক্রম নেই।
Set ডিক্লারেশন এবং ব্যবহারের উদাহরণ:
def uniqueNumbers = [1, 2, 3, 3, 4, 5] as Set
println uniqueNumbers // Output: [1, 2, 3, 4, 5]
// মান যোগ করা
uniqueNumbers << 6
println uniqueNumbers // Output: [1, 2, 3, 4, 5, 6]
// ডুপ্লিকেট মান যোগ করা
uniqueNumbers << 3
println uniqueNumbers // Output: [1, 2, 3, 4, 5, 6]Set এর বৈশিষ্ট্য:
- ইউনিক মান সংরক্ষণ: Set এ শুধুমাত্র ইউনিক মান সংরক্ষণ করা যায়।
- ডুপ্লিকেট মান গ্রহণযোগ্য নয়: Set এ ডুপ্লিকেট মান রাখা সম্ভব নয়।
- অর্ডার গ্যারান্টি নেই: Set এ উপাদানগুলো কোনো নির্দিষ্ট ক্রমে সংরক্ষণ হয় না।
পার্থক্য Java এর সাথে: Java তে HashSet ব্যবহার করে Set তৈরি করা হয়, কিন্তু Groovy তে as Set ব্যবহার করেই Set ডিক্লার করা যায়।
3. Map
Map একটি সংগ্রহশীল ডেটা স্ট্রাকচার যা key-value জোড়ার মাধ্যমে ডেটা সংরক্ষণ করে। প্রতিটি key ইউনিক হতে হবে, তবে value ডুপ্লিকেট থাকতে পারে। Map সাধারণত দ্রুত ডেটা অনুসন্ধানের জন্য ব্যবহার করা হয়।
Map ডিক্লারেশন এবং ব্যবহারের উদাহরণ:
def person = [name: "John", age: 30, city: "New York"]
println person // Output: [name:John, age:30, city:New York]
// নির্দিষ্ট key এর মান পাওয়া
println person['name'] // Output: John
println person.age // Output: 30
// নতুন key-value জোড়া যোগ করা
person.country = "USA"
println person // Output: [name:John, age:30, city:New York, country:USA]
// নির্দিষ্ট key এর মান পরিবর্তন করা
person.age = 31
println person // Output: [name:John, age:31, city:New York, country:USA]Map এর বৈশিষ্ট্য:
- Key-Value জোড়া: Map এ ডেটা সংরক্ষণের জন্য
key-valueপেয়ার ব্যবহার করা হয়। - ইউনিক Key: প্রতিটি
keyইউনিক হতে হবে। - দ্রুত অনুসন্ধান: Map ডেটা দ্রুত অনুসন্ধানের জন্য খুবই কার্যকরী।
পার্থক্য Java এর সাথে: Java তে HashMap ব্যবহার করে Map তৈরি করা হয়, কিন্তু Groovy তে সরাসরি [key: value] এর মাধ্যমে Map ডিক্লার করা যায়।
সারসংক্ষেপ
| ডেটা স্ট্রাকচার | বৈশিষ্ট্য | উদাহরণ |
|---|---|---|
| List | ক্রমানুসারে ডেটা সংরক্ষণ, ডুপ্লিকেট মান গ্রহণযোগ্য | def list = [1, 2, 3] |
| Set | ইউনিক মান সংরক্ষণ, কোনো ক্রম নেই | def set = [1, 2, 3] as Set |
| Map | key-value পেয়ার ব্যবহার করে ডেটা সংরক্ষণ | def map = [name: "John"] |
Groovy তে Lists, Sets, এবং Maps খুব সহজেই তৈরি ও ব্যবহার করা যায়, এবং এর সংক্ষিপ্ত সিনট্যাক্স প্রোগ্রামিংকে আরও সুবিধাজনক করে তোলে।
Read more