Apache Commons Collections লাইব্রেরি Java Collections Framework এর জন্য অতিরিক্ত ডেটা স্ট্রাকচার প্রদান করে। এর মধ্যে দুটি গুরুত্বপূর্ণ Map ইন্টারফেস হল OrderedMap এবং SortedMap, যা কিভাবে ম্যাপের উপাদানগুলির অর্ডার বা শ্রেণীবদ্ধতা (sorting) বজায় রাখতে হবে তা নির্ধারণ করে।
এখানে আলোচনা করা হবে কিভাবে OrderedMap এবং SortedMap ব্যবস্থাপনা করতে হয় এবং Apache Commons Collections এ এই দুটি ইন্টারফেসের কার্যকারিতা কীভাবে ব্যবহৃত হয়।
OrderedMap হল একটি ইন্টারফেস যা Map এর উপাদানগুলির ইনসার্ট অর্ডার বজায় রাখে। এর মানে হল যে, যখন আপনি OrderedMap এ একটি নতুন কী-মান পেয়ার যোগ করবেন, তখন এটি উপাদানগুলির ইনসার্ট অর্ডার অনুযায়ী তাদের সংরক্ষণ করবে।
OrderedMap এর প্রধান বৈশিষ্ট্য:
Apache Commons Collections এ OrderedMap বাস্তবায়ন হিসেবে LinkedMap ব্যবহার করা হয়।
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.collections4.map.LinkedMap;
import java.util.Map;
public class OrderedMapExample {
public static void main(String[] args) {
// OrderedMap তৈরি করা (LinkedMap)
Map<String, String> orderedMap = new LinkedMap<>();
// উপাদান যোগ করা
orderedMap.put("first", "apple");
orderedMap.put("second", "banana");
orderedMap.put("third", "cherry");
// ইনসার্ট অর্ডারে উপাদান দেখতে
System.out.println("OrderedMap: " + orderedMap);
// keySet() এর মাধ্যমে উপাদান দেখতে
System.out.println("Keys in insertion order: " + orderedMap.keySet());
}
}
আউটপুট:
OrderedMap: {first=apple, second=banana, third=cherry}
Keys in insertion order: [first, second, third]
এখানে:
SortedMap হল একটি ইন্টারফেস যা Map এর উপাদানগুলিকে স্বয়ংক্রিয়ভাবে sort করে রাখে, অথবা এটি উপাদানগুলিকে একটি নির্দিষ্ট ক্রম অনুযায়ী সাজিয়ে রাখে। এটি মূলত Map ইন্টারফেসের একটি বিকল্প যেখানে কীগুলির উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে ascending order বা custom comparator এর মাধ্যমে সাজানো হয়।
SortedMap এর প্রধান বৈশিষ্ট্য:
import java.util.Map;
import java.util.SortedMap;
import java.util.TreeMap;
public class SortedMapExample {
public static void main(String[] args) {
// SortedMap তৈরি করা (TreeMap)
SortedMap<String, String> sortedMap = new TreeMap<>();
// উপাদান যোগ করা
sortedMap.put("first", "apple");
sortedMap.put("third", "banana");
sortedMap.put("second", "cherry");
// কীগুলিকে সাজানো অবস্থায় দেখতে
System.out.println("SortedMap: " + sortedMap);
}
}
আউটপুট:
SortedMap: {first=apple, second=cherry, third=banana}
এখানে:
firstKey()
: প্রথম কীগুলি রিটার্ন করে।lastKey()
: সর্বশেষ কীগুলি রিটার্ন করে।headMap(K toKey)
: নির্দিষ্ট কীয়ের আগে থাকা উপাদানগুলির সাব-মানচিত্র প্রদান করে।tailMap(K fromKey)
: নির্দিষ্ট কীয়ের পর থাকা উপাদানগুলির সাব-মানচিত্র প্রদান করে।বৈশিষ্ট্য | OrderedMap | SortedMap |
---|---|---|
অর্ডার | ইনসার্ট অর্ডার বজায় রাখে | কীগুলি সাজানো থাকে, সাধারণত ascending order অথবা কাস্টম comparator দিয়ে |
প্রধান বাস্তবায়ন | LinkedMap | TreeMap |
টাস্ক | কীগুলির ইনসার্ট অর্ডার ধরে রাখা | কীগুলিকে সাজানো রাখা |
মেথড | keySet(), entrySet() | firstKey(), lastKey(), headMap(), tailMap() |
common.read_more