কী পার্থক্য – ট্রিসেট বনাম হ্যাশসেট
অধিকাংশ প্রোগ্রামিং ভাষা অ্যারে সমর্থন করে। এটি একটি ডেটা স্ট্রাকচার যা একই ডেটা টাইপের একাধিক উপাদান সংরক্ষণ করতে ব্যবহৃত হয়। যদি ছয়টি উপাদানের জন্য অ্যারে ঘোষণা করা হয়, তবে এটি দশটি উপাদান সংরক্ষণ করতে ব্যবহার করা যাবে না। অতএব, অ্যারেগুলি গতিশীল নয় এবং একবার ঘোষণা করা হলে অ্যারের আকার পরিবর্তন করতে পারে না। প্রোগ্রামিং ল্যাঙ্গুয়েজ যেমন জাভা সংগ্রহগুলিকে সমর্থন করে যা গতিশীলভাবে ডেটা সংরক্ষণ করতে ব্যবহৃত হয়। সংগ্রহগুলি ক্রিয়াকলাপগুলিকে সমর্থন করে যেমন উপাদানগুলি যোগ করা এবং উপাদানগুলি মুছে ফেলা। সংগ্রহের শ্রেণিবিন্যাসে বেশ কয়েকটি ইন্টারফেস এবং ক্লাস রয়েছে। বেস ইন্টারফেস হল কালেকশন ইন্টারফেস।সেট হল একটি ইন্টারফেস যা সংগ্রহ ইন্টারফেসকে প্রসারিত করে। এটা অনুলিপি অনুমতি দেয় না. TreeSet এবং HashSet সংগ্রহের শ্রেণিবিন্যাস দুটি শ্রেণী এবং উভয়ই সেট ইন্টারফেস প্রয়োগ করে। TreeSet হল একটি শ্রেণী যা সেট ইন্টারফেস প্রয়োগ করে এবং এটি ঊর্ধ্বক্রম ক্রমে অনন্য উপাদান সংরক্ষণ করতে ব্যবহৃত হয়। হ্যাশসেট হল একটি ক্লাস যা সেট ইন্টারফেস প্রয়োগ করে এবং এটি হ্যাশিং প্রক্রিয়া ব্যবহার করে অনন্য উপাদান সংরক্ষণ করতে ব্যবহৃত হয়। TreeSet এবং HashSet এর মধ্যে মূল পার্থক্য হল TreeSet উপাদানগুলিকে আরোহী ক্রমে সংরক্ষণ করে যখন HashSet উপাদানগুলিকে আরোহী ক্রমে সংরক্ষণ করে না। TreeSet এবং HashSet উভয়ই শুধুমাত্র অনন্য উপাদান সঞ্চয় করে।
ট্রিসেট কি?
TreeSet ক্লাস NavigableSet ইন্টারফেস প্রয়োগ করে। NavigableSet ইন্টারফেস ক্রমানুসারে সাজানো সেট, সেট, সংগ্রহ এবং পুনরাবৃত্তিযোগ্য ইন্টারফেসগুলিকে প্রসারিত করে। TreeSet সর্বদা আরোহী ক্রম বজায় রাখে। উপাদানগুলি যদি B, A, C ক্রমে সন্নিবেশিত করা হয় তবে সেগুলি A, B, C হিসাবে সংরক্ষণ করা হবে। পদ্ধতি যেমন add (), remove () TreeSet অবজেক্টের সাথে ব্যবহার করা যেতে পারে।যোগ পদ্ধতি একটি উপাদান যোগ করতে ব্যবহার করা যেতে পারে. সংগ্রহ থেকে একটি উপাদান অপসারণ করতে অপসারণ পদ্ধতি ব্যবহার করা হয়। এগুলি কিছু পদ্ধতি যা TreeSet এর সাথে ব্যবহার করা যেতে পারে।
চিত্র 01: TreeSet এর সাথে প্রোগ্রাম
উপরের প্রোগ্রাম অনুসারে, TreeSet টাইপের একটি অবজেক্ট তৈরি করা হয়েছে। অ্যাড মেথড ব্যবহার করে সেই অবজেক্টে স্ট্রিং ডেটা এলিমেন্ট যোগ করা হয়। তথ্য সন্নিবেশিত ক্রম হল A, D, A, B, C, D. পুনরাবৃত্তিকারী ব্যবহার করে, সংরক্ষিত মানগুলি স্ক্রিনে প্রিন্ট করা হয়। আউটপুট হল A, B, C, D। যদিও দুটি A অক্ষর এবং দুটি D অক্ষর আছে, আউটপুট প্রতিটি A এবং একটি D প্রদর্শন করে। অতএব, TreeSet অনন্য উপাদান সঞ্চয় করে। কোন নির্দিষ্ট সন্নিবেশ ক্রম নেই কিন্তু আউটপুট পর্যবেক্ষণ করার সময়, এটি দেখা যায় যে TreeSet উপাদানগুলির আরোহী ক্রম বজায় রাখে।
হ্যাশসেট কি?
হ্যাশসেট ক্লাস অ্যাবস্ট্রাক্টসেট ক্লাসকে প্রসারিত করে যা সেট ইন্টারফেস প্রয়োগ করে। সেট ইন্টারফেস ক্রমানুসারে সংগ্রহ এবং পুনরাবৃত্তিযোগ্য ইন্টারফেসগুলিকে উত্তরাধিকারসূত্রে পায়। হ্যাশসেটে, উপাদানগুলি আরোহী ক্রম এবং সন্নিবেশিত ক্রম বজায় রাখবে এমন কোনও গ্যারান্টি নেই। যদি সন্নিবেশিত ক্রম A, B, C হয় তবে মানগুলি C, A, B হিসাবে সংরক্ষণ করা যেতে পারে। সংরক্ষণের ক্রম A, B, Cও হতে পারে তবে সন্নিবেশিত ক্রম বা আরোহী ক্রম বজায় থাকবে এমন কোন গ্যারান্টি নেই।
চিত্র 02: হ্যাশসেটের সাথে প্রোগ্রাম
উপরের প্রোগ্রাম অনুসারে, হ্যাশসেট টাইপের একটি অবজেক্ট তৈরি করা হয়েছে। অ্যাড মেথড ব্যবহার করে সেই অবজেক্টে স্ট্রিং ডেটা এলিমেন্ট যোগ করা হয়। তথ্য সন্নিবেশিত ক্রম হল L, R, M, M, R, L. পুনরাবৃত্তিকারী ব্যবহার করে, সংরক্ষিত মানগুলি স্ক্রিনে মুদ্রিত হয়।আউটপুট হল R L M। যদিও, প্রতিটি থেকে দুটি L, R এবং M অক্ষর রয়েছে, প্রতিটি থেকে শুধুমাত্র একটি অক্ষর প্রদর্শিত হয়। অতএব, হ্যাশসেট অনন্য উপাদান সঞ্চয় করে। আউটপুট পর্যবেক্ষণ করার সময়, এটি দেখা যায় যে কোন আরোহী ক্রম নেই বা সন্নিবেশিত ক্রম বজায় রাখা হয়েছে।
TreeSet এবং HashSet এর মধ্যে মিল কি?
- TreeSet এবং HashSet উভয় ক্লাসই সংগ্রহের শ্রেণিবিন্যাসের অন্তর্গত।
- TreeSet এবং HashSet উভয়ই শুধুমাত্র অনন্য উপাদান সঞ্চয় করে।
- TreeSet এবং HashSet উভয়ই অনেক উপাদান সঞ্চয় এবং ম্যানিপুলেট করতে ব্যবহার করা যেতে পারে।
- TreeSet এবং HashSet উভয়ই সন্নিবেশিত ক্রম বজায় রাখে না।
ট্রিসেট এবং হ্যাশসেটের মধ্যে পার্থক্য কী?
ট্রিসেট বনাম হ্যাশসেট |
|
TreeSet হল সংগ্রহের অনুক্রমের একটি শ্রেণী যা অনন্য উপাদানগুলিকে আরোহী ক্রমে সঞ্চয় করতে ব্যবহৃত হয়৷ | হ্যাশসেট হল সংগ্রহের শ্রেণিবিন্যাসের একটি শ্রেণী যা হ্যাশিং প্রক্রিয়া ব্যবহার করে অনন্য উপাদান সংরক্ষণ করতে ব্যবহৃত হয়। |
উপাদান সংরক্ষণ | |
TreeSet উপাদানগুলিকে আরোহী ক্রমে সংরক্ষণ করে৷ | হ্যাশসেট উপাদানগুলিকে আরোহী ক্রমে সংরক্ষণ করে না৷ |
সারাংশ – ট্রিসেট বনাম হ্যাশসেট
প্রোগ্রামিং-এ, ডাটা উপাদানগুলিকে গতিশীলভাবে সংরক্ষণ করতে হয়। জাভা যেমন প্রোগ্রামিং ভাষা এই কাজটি অর্জন করতে সংগ্রহ সমর্থন করে। সংগ্রহের শ্রেণিবিন্যাসে বেশ কয়েকটি ইন্টারফেস এবং ক্লাস রয়েছে। ট্রিসেট এবং হ্যাশসেট সংগ্রহের শ্রেণিবিন্যাস দুটি শ্রেণী। উভয়ই সেট ইন্টারফেস প্রয়োগ করে। TreeSet হল একটি শ্রেণী যা সেট ইন্টারফেস প্রয়োগ করে এবং এটি ঊর্ধ্বক্রম ক্রমে অনন্য উপাদান সংরক্ষণ করতে ব্যবহৃত হয়। হ্যাশসেট হল একটি ক্লাস যা সেট ইন্টারফেস প্রয়োগ করে এবং এটি হ্যাশিং প্রক্রিয়া ব্যবহার করে অনন্য উপাদান সংরক্ষণ করতে ব্যবহৃত হয়।TreeSet এবং HashSet এর মধ্যে পার্থক্য হল যে TreeSet উপাদানগুলিকে আরোহী ক্রমে সংরক্ষণ করে যখন HashSet উপাদানগুলিকে আরোহী ক্রমে সংরক্ষণ করে না। এই নিবন্ধটি TreeSet এবং HashSet এর মধ্যে পার্থক্য নিয়ে আলোচনা করেছে৷