OrderedMap এবং SortedMap ব্যবস্থাপনা

Java Technologies - অ্যাপাচি কমন্স কালেকশনস (Apache Common Collection) Bidirectional Maps এবং Advanced Map Operations |
117
117

Apache Commons Collections লাইব্রেরি Java Collections Framework এর জন্য অতিরিক্ত ডেটা স্ট্রাকচার প্রদান করে। এর মধ্যে দুটি গুরুত্বপূর্ণ Map ইন্টারফেস হল OrderedMap এবং SortedMap, যা কিভাবে ম্যাপের উপাদানগুলির অর্ডার বা শ্রেণীবদ্ধতা (sorting) বজায় রাখতে হবে তা নির্ধারণ করে।

এখানে আলোচনা করা হবে কিভাবে OrderedMap এবং SortedMap ব্যবস্থাপনা করতে হয় এবং Apache Commons Collections এ এই দুটি ইন্টারফেসের কার্যকারিতা কীভাবে ব্যবহৃত হয়।

1. OrderedMap (অর্ডার্ড ম্যাপ)

OrderedMap হল একটি ইন্টারফেস যা Map এর উপাদানগুলির ইনসার্ট অর্ডার বজায় রাখে। এর মানে হল যে, যখন আপনি OrderedMap এ একটি নতুন কী-মান পেয়ার যোগ করবেন, তখন এটি উপাদানগুলির ইনসার্ট অর্ডার অনুযায়ী তাদের সংরক্ষণ করবে।

OrderedMap এর প্রধান বৈশিষ্ট্য:

  • এটি Map এর মতোই কাজ করে, তবে ইনসার্ট অর্ডার বজায় রাখে।
  • আপনি keySet() বা entrySet() এর মাধ্যমে ইনসার্ট অর্ডারে উপাদানগুলি অ্যাক্সেস করতে পারবেন।

OrderedMap উদাহরণ

Apache Commons CollectionsOrderedMap বাস্তবায়ন হিসেবে 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]

এখানে:

  • LinkedMap ক্লাসটি OrderedMap ইন্টারফেসের একটি বাস্তবায়ন।
  • উপাদানগুলি ইনসার্ট অর্ডারে সংরক্ষিত থাকে, এবং keySet() মাধ্যমে ইনসার্ট অর্ডার অনুযায়ী কীগুলি পাওয়া যায়।

2. SortedMap (সার্টেড ম্যাপ)

SortedMap হল একটি ইন্টারফেস যা Map এর উপাদানগুলিকে স্বয়ংক্রিয়ভাবে sort করে রাখে, অথবা এটি উপাদানগুলিকে একটি নির্দিষ্ট ক্রম অনুযায়ী সাজিয়ে রাখে। এটি মূলত Map ইন্টারফেসের একটি বিকল্প যেখানে কীগুলির উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে ascending order বা custom comparator এর মাধ্যমে সাজানো হয়।

SortedMap এর প্রধান বৈশিষ্ট্য:

  • এটি কীগুলির মধ্যে স্বয়ংক্রিয়ভাবে সাজানোর ব্যবস্থা করে।
  • TreeMap হল SortedMap এর একটি জনপ্রিয় বাস্তবায়ন যা কীগুলিকে natural order বা একটি 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}

এখানে:

  • TreeMap একটি SortedMap এর বাস্তবায়ন, যা কীগুলিকে স্বয়ংক্রিয়ভাবে ascending order এ সাজিয়ে রাখে।
  • কীগুলি lexicographical order অনুসারে সাজানো হয়েছে।

SortedMap এর বৈশিষ্ট্য:

  • firstKey(): প্রথম কীগুলি রিটার্ন করে।
  • lastKey(): সর্বশেষ কীগুলি রিটার্ন করে।
  • headMap(K toKey): নির্দিষ্ট কীয়ের আগে থাকা উপাদানগুলির সাব-মানচিত্র প্রদান করে।
  • tailMap(K fromKey): নির্দিষ্ট কীয়ের পর থাকা উপাদানগুলির সাব-মানচিত্র প্রদান করে।

3. OrderedMap এবং SortedMap এর মধ্যে পার্থক্য

বৈশিষ্ট্যOrderedMapSortedMap
অর্ডারইনসার্ট অর্ডার বজায় রাখেকীগুলি সাজানো থাকে, সাধারণত ascending order অথবা কাস্টম comparator দিয়ে
প্রধান বাস্তবায়নLinkedMapTreeMap
টাস্ককীগুলির ইনসার্ট অর্ডার ধরে রাখাকীগুলিকে সাজানো রাখা
মেথডkeySet(), entrySet()firstKey(), lastKey(), headMap(), tailMap()

সারাংশ

  • OrderedMap: এটি একটি Map যা ইনসার্ট অর্ডার বজায় রাখে, এবং সাধারণত LinkedMap এর মাধ্যমে বাস্তবায়িত হয়।
  • SortedMap: এটি একটি Map যেখানে কীগুলি স্বয়ংক্রিয়ভাবে ascending order বা কাস্টম Comparator এর মাধ্যমে সাজানো হয়, এবং সাধারণত TreeMap এর মাধ্যমে বাস্তবায়িত হয়।
  • OrderedMap এবং SortedMap উভয়ই Apache Commons Collections এ গুরুত্বপূর্ণ ডেটা স্ট্রাকচার, যা বিভিন্ন Map পরিচালনার জন্য ব্যবহার করা হয়। OrderedMap ইনসার্ট অর্ডার বজায় রাখে, এবং SortedMap কীগুলির উপর সাজানোর সুবিধা প্রদান করে।
common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion