কিভাবে Java TreeMap ডেটা স্ট্রাকচার ব্যবহার করবেন

কিভাবে Java TreeMap ডেটা স্ট্রাকচার ব্যবহার করবেন

Java TreeMap ক্লাস একটি মানচিত্র ইন্টারফেস ব্যবহার করে একটি গাছের কাঠামোতে ডেটা সঞ্চয় করে। এই ক্লাসটি অ্যাবস্ট্রাক্টম্যাপ ক্লাসকে প্রসারিত করে এবং এর মূল ক্লাসের মতো, ট্রিম্যাপের দুটি ধরণের পরামিতি রয়েছে। এর একটি প্রকারের প্যারামিটার ট্রিম্যাপের কীগুলিকে উপস্থাপন করে, অন্যটি মানগুলিকে উপস্থাপন করে।





TreeMap ডেটা স্ট্রাকচার কী-মানের জোড়া সঞ্চয় করে এবং আপনাকে এই ডেটাতে CRUD অপারেশন করতে দেয়।





কীভাবে জাভাতে একটি ট্রিম্যাপ তৈরি করবেন

ট্রিম্যাপ ক্লাসে চারটি কনস্ট্রাক্টর রয়েছে যা আপনি একটি নতুন ট্রিম্যাপ অবজেক্ট তৈরি করতে ব্যবহার করতে পারেন। ডিফল্ট কনস্ট্রাক্টর চারটির মধ্যে সবচেয়ে জনপ্রিয়। এই কনস্ট্রাক্টর কোন আর্গুমেন্ট নেয় না এবং একটি খালি গাছের মানচিত্র তৈরি করে।





// Create a new tree map 
TreeMap<Integer,String> customers = new TreeMap<Integer,String>();

উপরের কোডটি একটি খালি গাছের মানচিত্র তৈরি করে যাকে বলা হয় গ্রাহকদের .

ট্রিম্যাপ ডেটা স্ট্রাকচার জনবহুল করা

দ্য put() পদ্ধতি একটি TreeMap অবজেক্টে একটি আইটেম যোগ করে। এটি দুটি আর্গুমেন্ট লাগে - একটি কী এবং এর মান। আপনি যেকোন এলোমেলো ক্রমে ট্রি ম্যাপে আইটেম যোগ করতে পারেন এবং ডাটা স্ট্রাকচার তাদের কী অনুযায়ী ক্রমবর্ধমান ক্রমে সংরক্ষণ করবে।



// Populate a tree map 
customers.put(105, "Jessica Jones");
customers.put(102, "Mark Williams");
customers.put(104, "Phil Blair");
customers.put(101, "Kim Brown");
customers.put(103, "Jim Riley");

উপরের কোডটি গ্রাহকদের গাছের মানচিত্রে এলোমেলো ক্রমে পাঁচজন গ্রাহককে যুক্ত করে।

একটি ট্রিম্যাপে আইটেম দেখা

ট্রিম্যাপ ক্লাস একটি বস্তুতে তার ডেটা সংরক্ষণ করে। সুতরাং, একটি ট্রি ম্যাপে সমস্ত আইটেম দেখতে আপনি কেবল ট্রি ম্যাপ অবজেক্টটি কনসোলে মুদ্রণ করতে পারেন:





// View all tree map items as an object 
System.out.println(customers);

উপরের কোডটি কনসোলে নিম্নলিখিত আউটপুট প্রিন্ট করে:

{101=Kim Brown, 102=Mark Williams, 103=Jim Riley, 104=Phil Blair, 105=Jessica Jones}

উল্লেখ্য যে উপরের বস্তুটি আরোহী ক্রমে আইটেমগুলি প্রদর্শন করে। আপনি প্রতিটি আইটেম এবং এর সংশ্লিষ্ট কী ব্যবহার করে দেখতে পারেন লুপের জন্য একটি জাভা .





// View all items with an iterator 
for (Entry<Integer, String> customer : customers.entrySet()) {
System.out.println("Key: " + customer.getKey() + " Value: " + customer.getValue());
}

উপরের কোডটি কনসোলে নিম্নলিখিত আউটপুটটি প্রিন্ট করে:

স্ন্যাপচ্যাটে কেউ আপনাকে ব্লক করলে আপনি কিভাবে বলতে পারেন?
Key: 101 Value: Kim Brown 
Key: 102 Value: Mark Williams
Key: 103 Value: Jim Riley
Key: 104 Value: Phil Blair
Key: 105 Value: Jessica Jones

একটি ট্রিম্যাপে আইটেম আপডেট করা হচ্ছে

TreeMap ক্লাস আপনাকে ব্যবহার করে একটি বিদ্যমান আইটেম আপডেট করতে দেয় প্রতিস্থাপন() পদ্ধতি দুটি প্রতিস্থাপন পদ্ধতি আছে। প্রথম পদ্ধতিটি একটি বিদ্যমান কী এবং নতুন মান যেটিতে আপনি বিদ্যমান কীটি ম্যাপ করতে চান তা নেয়।

// Replace existing value 
customers.replace(101,"Kim Smith");
System.out.println(customers);

উপরের কোডটি কনসোলে নিম্নলিখিত অবজেক্টটি প্রিন্ট করে:

{101=Kim Smith, 102=Mark Williams, 103=Jim Riley, 104=Phil Blair, 105=Jessica Jones}

আপনি যেমন দেখতে পারেন কিম ব্রাউন এখন কিম স্মিথ . দ্বিতীয় প্রতিস্থাপন() পদ্ধতিটি একটি বিদ্যমান কী, কীটির বর্তমান মান এবং নতুন মান যা আপনি কীটিতে ম্যাপ করতে চান তা নেয়।

// Replace existing value 
customers.replace(103,"Jim Riley", "Michelle Noah");
System.out.println(customers);

উপরের কোডটি কনসোলে নিম্নলিখিত অবজেক্টটি প্রিন্ট করে:

{101=Kim Brown, 102=Mark Williams, 103=Michelle Noah, 104=Phil Blair, 105=Jessica Jones}

উপরের বস্তুতে মিশেল নোয়া প্রতিস্থাপন করে জিম রিলি .

ট্রিম্যাপ থেকে আইটেম মুছে ফেলা হচ্ছে

আপনি গাছ মানচিত্র থেকে একটি একক আইটেম সরাতে চান, অপসারণ() পদ্ধতি আপনার একমাত্র বিকল্প। আপনি যে আইটেমটি অপসারণ করতে চান তার সাথে এটি যুক্ত কী নেয় এবং মুছে ফেলা মান ফেরত দেয়।

// Remove an item 
customers.remove(104);
System.out.println(customers);

উপরের কোডটি চালানোর ফলে কনসোলে নিম্নলিখিত বস্তুটি প্রিন্ট হয়:

{101=Kim Smith, 102=Mark Williams, 103=Michelle Noah, 105=Jessica Jones}

এই জাভা ক্লাস এছাড়াও একটি আছে স্পষ্ট() পদ্ধতি যা আপনাকে গাছের মানচিত্রের সমস্ত আইটেম মুছতে দেয়।

ট্রিম্যাপ বনাম হ্যাশম্যাপ জাভা ক্লাস

TreeMap এবং HashMap হল দুটি জনপ্রিয় জাভা ম্যাপ ক্লাস। তারা উভয়ই AbstractMap ক্লাস প্রসারিত করে। এই সম্পর্কটি ট্রিম্যাপ এবং হ্যাশম্যাপ ক্লাসগুলিকে অনেকগুলি একই ফাংশনে অ্যাক্সেস দেয়।

যাইহোক, এই দুটি মানচিত্র শ্রেণীর মধ্যে কিছু উল্লেখযোগ্য পার্থক্য রয়েছে। ট্রিম্যাপ মানচিত্র ইন্টারফেসের একটি লাল-কালো গাছ বাস্তবায়ন ব্যবহার করে, যখন হ্যাশম্যাপ একটি হ্যাশ টেবিল ব্যবহার করে। হ্যাশম্যাপ আপনাকে একটি একক নাল কী সংরক্ষণ করতে দেয়, যখন ট্রিম্যাপ করে না। অবশেষে, একটি হ্যাশম্যাপ একটি ট্রিম্যাপের চেয়ে দ্রুত। আগেরটির অ্যালগরিদমিক গতি হল O(1) যেখানে পরেরটির হল O(log(n))।