Guava লাইব্রেরি Java ডেভেলপমেন্টে অনেক শক্তিশালী ডেটা স্ট্রাকচার সরবরাহ করে। এর মধ্যে Multiset এবং Multimap দুটি গুরুত্বপূর্ণ এবং জনপ্রিয় ডেটা স্ট্রাকচার। এগুলি সাধারণ Java ক্লাসের চেয়ে আরও বেশি ফিচার এবং কার্যকারিতা প্রদান করে। চলুন, এই দুটি ডেটা স্ট্রাকচারের ধারণা এবং ব্যবহার সম্পর্কে বিস্তারিত জানি।
Multiset এর ধারণা এবং ব্যবহার
Multiset হল এমন একটি ডেটা স্ট্রাকচার যা একটি কনটেইনার হিসেবে কাজ করে, যেখানে একাধিক অনুরূপ উপাদান রাখা যেতে পারে। সাধারণ Java Set-এ শুধুমাত্র ইউনিক (একক) উপাদান রাখা সম্ভব, তবে Multiset-এ আপনি একাধিক সমান উপাদান রাখতে পারবেন। এর মানে, একটি উপাদানকে একাধিক বার রাখা সম্ভব।
Multiset এর ব্যবহার
Guava লাইব্রেরিতে Multiset ব্যবহার করতে হলে, আপনি HashMultiset বা TreeMultiset ব্যবহার করতে পারেন।
import com.google.common.collect.HashMultiset;
import com.google.common.collect.Multiset;
public class MultisetExample {
public static void main(String[] args) {
Multiset<String> multiset = HashMultiset.create();
// উপাদান যোগ করা
multiset.add("Apple");
multiset.add("Apple");
multiset.add("Banana");
// আউটপুট: Apple appears 2 times, Banana appears 1 time
System.out.println("Apple Count: " + multiset.count("Apple"));
System.out.println("Banana Count: " + multiset.count("Banana"));
// সমস্ত উপাদান প্রদর্শন করা
System.out.println(multiset);
}
}
উপরে কোডে HashMultiset ব্যবহার করা হয়েছে, যেখানে "Apple" দুইবার এবং "Banana" একবার যোগ করা হয়েছে। আপনি count() মেথড দিয়ে নির্দিষ্ট উপাদানের সংখ্যা পেতে পারেন।
Multimap এর ধারণা এবং ব্যবহার
Multimap হল একটি বিশেষ ধরনের ম্যাপ (Map) যেখানে একক কী (key) একাধিক মান (value) সাথে সম্পর্কিত হতে পারে। সাধারণ Java Map-এ একটি কী-তে শুধুমাত্র একটি মান থাকে, কিন্তু Multimap-এ একটি কী-তে একাধিক মান রাখতে পারবেন। এটি বিশেষভাবে উপকারী যখন একই কী এর জন্য একাধিক মান থাকতে পারে।
Multimap এর ব্যবহার
Guava লাইব্রেরিতে Multimap ব্যবহার করতে, আপনি ArrayListMultimap বা HashMultimap ব্যবহার করতে পারেন। নিচে HashMultimap এর উদাহরণ দেওয়া হয়েছে:
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;
public class MultimapExample {
public static void main(String[] args) {
Multimap<String, String> multimap = HashMultimap.create();
// কী এবং মান যোগ করা
multimap.put("Fruit", "Apple");
multimap.put("Fruit", "Banana");
multimap.put("Fruit", "Orange");
multimap.put("Vegetable", "Carrot");
// একটি কী এর জন্য সমস্ত মান প্রদর্শন করা
System.out.println("Fruits: " + multimap.get("Fruit"));
System.out.println("Vegetables: " + multimap.get("Vegetable"));
}
}
উপরে কোডে "Fruit" কী এর জন্য তিনটি মান ("Apple", "Banana", "Orange") এবং "Vegetable" কী এর জন্য একটি মান ("Carrot") যুক্ত করা হয়েছে। get() মেথড ব্যবহার করে আপনি একটি কী এর সমস্ত মান দেখতে পারবেন।
সারাংশ
Guava এর Multiset এবং Multimap হল দুটি শক্তিশালী ডেটা স্ট্রাকচার যা Java প্রোগ্রামিংয়ে অনেক সুবিধা প্রদান করে। Multiset আপনাকে একাধিক সমান উপাদান রাখতে সাহায্য করে, যেখানে Multimap একাধিক মান (values) একক কী (key) এর সাথে সংযুক্ত করতে সাহায্য করে। এই দুটি ডেটা স্ট্রাকচার ব্যবহার করে আপনি আরও শক্তিশালী এবং কার্যকরী Java প্রোগ্রাম তৈরি করতে পারবেন।
Read more