সেট হল একটি ডেটা স্ট্রাকচার যা একটি অর্ডারহীন কালেকশন এবং এতে প্রতিটি উপাদান শুধুমাত্র একবার থাকতে পারে (ডুপ্লিকেট উপাদান রোধ)। স্কালায় সেট ইমিউটেবল (immutable) বা মিউটেবল (mutable) হতে পারে, এবং এটি অনেক ধরনের অপারেশন যেমন যোগ, অপসারণ এবং অনুসন্ধান সমর্থন করে।
এখানে স্কালার সেটের মৌলিক ব্যবহারগুলি আলোচনা করা হবে:
১. যোগ (Adding Elements)
একটি সেটে নতুন উপাদান যোগ করার জন্য + অপারেটর ব্যবহার করা হয়। স্কালার সেট ইমিউটেবল হলে, আপনি নতুন উপাদান যোগ করলে সেটটি পরিবর্তন না হয়ে একটি নতুন সেট তৈরি হবে।
উদাহরণ:
val set1 = Set(1, 2, 3, 4)
val newSet = set1 + 5
println(newSet) // Set(1, 2, 3, 4, 5)এখানে set1 + 5 এর মাধ্যমে 5 উপাদান যোগ করা হয়েছে এবং একটি নতুন সেট newSet তৈরি হয়েছে।
২. অপসারণ (Removing Elements)
সেট থেকে একটি উপাদান মুছে ফেলার জন্য - অপারেটর ব্যবহার করা হয়। মিউটেবল সেটে এটি সরাসরি পরিবর্তন করতে সাহায্য করে, কিন্তু ইমিউটেবল সেটে এটি একটি নতুন সেট তৈরি করে।
উদাহরণ:
val set1 = Set(1, 2, 3, 4)
val newSet = set1 - 3
println(newSet) // Set(1, 2, 4)এখানে set1 - 3 এর মাধ্যমে 3 উপাদানটি সেট থেকে অপসারণ করা হয়েছে এবং একটি নতুন সেট তৈরি হয়েছে।
৩. অনুসন্ধান (Searching Elements)
একটি সেটে কোন উপাদান রয়েছে কিনা, তা যাচাই করতে contains ফাংশন ব্যবহার করা হয়। এটি Boolean মান প্রদান করে, যা সত্য (true) হলে উপাদানটি সেটে রয়েছে, আর মিথ্যা (false) হলে সেটে উপাদানটি নেই।
উদাহরণ:
val set1 = Set(1, 2, 3, 4)
val isPresent = set1.contains(3)
println(isPresent) // trueএখানে set1.contains(3) এর মাধ্যমে চেক করা হচ্ছে যে 3 উপাদানটি set1-এ রয়েছে কিনা, এবং এটি true মান ফেরত দিচ্ছে।
৪. মিউটেবল সেটে যোগ, অপসারণ, অনুসন্ধান
যদি আপনি মিউটেবল সেট ব্যবহার করেন, তবে এটি সরাসরি পরিবর্তন করা যায়। মিউটেবল সেটের জন্য += (যোগ) এবং -= (অপসারণ) অপারেটর ব্যবহার করা হয়।
উদাহরণ:
import scala.collection.mutable.Set
val set1 = Set(1, 2, 3, 4)
// যোগ করা
set1 += 5
println(set1) // Set(1, 2, 3, 4, 5)
// অপসারণ
set1 -= 2
println(set1) // Set(1, 3, 4, 5)এখানে মিউটেবল সেট set1-এ += দিয়ে নতুন উপাদান যোগ এবং -= দিয়ে উপাদান অপসারণ করা হয়েছে।
সারাংশ
- যোগ: একটি সেটে নতুন উপাদান যোগ করতে
+(ইমিউটেবল সেটে) বা+=(মিউটেবল সেটে) ব্যবহার করা হয়। - অপসারণ: একটি সেট থেকে উপাদান অপসারণ করতে
-(ইমিউটেবল সেটে) বা-=(মিউটেবল সেটে) ব্যবহার করা হয়। - অনুসন্ধান: একটি সেটে কোন উপাদান রয়েছে কিনা, তা যাচাই করতে
containsফাংশন ব্যবহার করা হয়।
স্কালার সেটগুলো ডুপ্লিকেট উপাদান গ্রহণ করে না এবং অর্ডারহীন হয়, যা ডেটার কার্যকরী ব্যবস্থাপনা এবং দ্রুত অনুসন্ধানের জন্য উপযোগী।
Read more