জাভা ট্রি সেট

Jabha Tri Seta



ট্রিসেটকে সবচেয়ে মৌলিক সাজানো সেট বাস্তবায়নের মধ্যে একটি হিসাবে বিবেচনা করা হয় যা একটি ট্রিকে তার প্রাথমিক স্টোরেজ টাইপ হিসাবে ব্যবহার করে। একটি TreeSet-এ, প্রতিটি মান সাজানো ক্রমানুসারে সংরক্ষণ করা হয়। ডিফল্টরূপে, সমস্ত সাংখ্যিক মান ক্রমবর্ধমান ক্রমে রাখা হয়, এবং স্ট্রিংগুলি অভিধান-ভিত্তিক ক্রমে পরিচালনা করা হয়। তুলনীয়টি নির্দিষ্ট করা হোক বা না হোক TreeSet আরোহী এবং অভিধান-ভিত্তিক ক্রম বজায় রাখে। সঠিকভাবে সেট ইন্টারফেস বাস্তবায়ন করতে, TreeSet তুলনামূলক সঙ্গে সামঞ্জস্যপূর্ণ হতে হবে। তাছাড়া, TreeSet-এ নাল মান গ্রহণযোগ্য নয়।

উদাহরণ 1

TreeSet-এর ভিতরে উপাদান যোগ করার জন্য add() পদ্ধতি প্রয়োজন। ট্রিসেট তৈরি করার সময় একই সাজানোর ক্রম ব্যবহার করে নির্দিষ্ট করা উপাদান যোগ করা হবে। এটি ডুপ্লিকেট এন্ট্রি যোগ করবে না।









পূর্ববর্তী কোডের ভিতরে, আমরা জাভার ক্লাস এবং পদ্ধতিগুলি অ্যাক্সেস করার জন্য জাভার ইউটিলিটি ক্লাস সন্নিবেশিত করেছি। এর পরে, main() পদ্ধতিটি 'CreatingTreeSet' ক্লাসের সংজ্ঞায় আবদ্ধ। আমরা main() পদ্ধতির ভিতরে TreeSet কোড পরীক্ষা করেছি। আমরা প্রথমে TreeSet ক্লাস থেকে একটি ভেরিয়েবল 'person' তৈরি করেছি এবং ঘোষিত ভেরিয়েবল 'persons'-এ খালি TreeSet ইন্টারফেস সেট করেছি।



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





TreeSet ইন্টারফেস ব্যবহার করে তৈরি উপাদানগুলি নিম্নলিখিত আউটপুট স্ন্যাপে আউটপুট হিসাবে আনা হয়:



উদাহরণ 2

TreeSet তৈরি করার পরে, TreeSet দ্বারা সমর্থিত অন্তর্নির্মিত পদ্ধতি ব্যবহার করে উপাদানগুলি অ্যাক্সেস করা যেতে পারে। contains() পদ্ধতি TreeSet-এ নির্দিষ্ট উপাদান পরীক্ষা করে। প্রথম() পদ্ধতিটি TreeSet এর প্রাথমিক উপাদান পুনরুদ্ধার করে, যখন শেষ() পদ্ধতিটি TreeSet এর শেষ উপাদানটি পুনরুদ্ধার করে।

ইউটিলিটি ক্লাস ইমপোর্ট করার পর, আমরা একটি ক্লাস “AccessingTreeSet” সংজ্ঞায়িত করেছি। এরপর, আমরা TreeSet উপাদানগুলি অ্যাক্সেস করার জন্য নির্দিষ্ট জাভা ক্লাসে main() পদ্ধতি স্থাপন করেছি। আমরা TreeSet ক্লাসের রেফারেন্স সহ NavigableSet টাইপের একটি 'Colors' অবজেক্ট ঘোষণা করেছি। TreeSet() খালি, যেটি add() পদ্ধতি ব্যবহার করে স্ট্রিং মানের সাথে যোগ করা হয়। এখানে, আমরা তিনটি স্ট্রিং মান যোগ করেছি, বিভিন্ন রঙের নাম। এর পরে, TreeSet মানগুলি প্রিন্ট স্টেটমেন্টের মাধ্যমে স্ক্রিনে প্রদর্শিত হবে। এর পরে, আমরা একটি ভেরিয়েবল 'ফাইন্ড' তৈরি করেছি যেখানে স্ট্রিংটি পরীক্ষা করার জন্য আরম্ভ করা হয়েছে। প্রদত্ত ট্রি-তে স্ট্রিংটি বিদ্যমান কিনা তা পরীক্ষা করার জন্য, আমরা contains() পদ্ধতিকে কল করেছি এবং একটি প্যারামিটার হিসাবে 'find' ভেরিয়েবল যোগ করেছি। Contains() পদ্ধতি TreeSet থেকে নির্দিষ্ট স্ট্রিং উপাদানের অস্তিত্ব যাচাই করে এবং বুলিয়ান ফলাফল তৈরি করে। এছাড়াও, আমরা প্রথম এবং শেষ উপাদানটি TreeSet-এ first() মেথড এবং লাস্ট() মেথড থেকে পেয়েছি। উভয় পদ্ধতিই প্রদত্ত ট্রিসেটে প্রথম এবং শেষ অবস্থানে স্থাপিত নির্দিষ্ট উপাদান তৈরি করে।

contains() মেথড থেকে নির্দিষ্ট স্ট্রিং চেক করলে সত্যিকারের মান পাওয়া যায়, যা দেখায় যে স্ট্রিং উপাদানটি contains() পদ্ধতির অংশ। এর পরে, TreeSet এর প্রথম মান এবং শেষ মানটিও নীচে প্রদর্শিত হয়েছে:

উদাহরণ 3

প্রথম এবং শেষ উপাদানটি আগের উদাহরণে অ্যাক্সেস করা হয়েছে। সর্বোচ্চ এবং সর্বনিম্ন উপাদান অ্যাক্সেস এবং নির্মূল করতে, pollFirst() এবং pollLast() পদ্ধতি ব্যবহার করা হয়। pollFirst() পদ্ধতিটি প্রথম থেকে সর্বনিম্ন উপাদান পুনরুদ্ধার এবং অপসারণ করতে ব্যবহৃত হয়। PollLast() পদ্ধতিটি TreeSet-এর শেষ থেকে সর্বোচ্চ উপাদানটি সনাক্ত করতে এবং নির্মূল করতে প্রয়োগ করা হয়।

প্রোগ্রামটি জাভা ক্লাস 'LowerAndHigherValueFromTreeSet' দিয়ে প্রতিষ্ঠিত হয় যেখানে main() পদ্ধতিটি তৈরি করা হয়। এখানে, আমরা অবজেক্টটিকে 'IntegerSet' ঘোষণা করে TreeSet ক্লাস থেকে TreeSet ইন্টারফেস প্রদান করেছি। প্রাথমিকভাবে, আমরা একটি খালি TreeSet তৈরি করেছি যা add() পদ্ধতি ব্যবহার করে উপাদানের সাথে যোগ করা যেতে পারে। Add() পদ্ধতি ব্যবহার করে পূর্ণসংখ্যা আইটেমগুলি TreeSet-এ লোড করা হয়।

এর পরে, আমরা pollFirst() পদ্ধতি এবং pollLast() ব্যবহার করে একটি প্রিন্ট স্টেটমেন্ট দিয়েছি। pollFirst() পদ্ধতিটি নির্দিষ্ট TreeSet থেকে প্রথম সর্বনিম্ন উপাদান পায়। অন্যদিকে, pollLast() পদ্ধতিটি TreeSet-এর শেষ থেকে সর্বোচ্চ উপাদান পায়।

ফলাফলগুলি pollFirst() এবং pollLast() পদ্ধতি থেকে পাওয়া যায় যা আউটপুটে TreeSet থেকে সর্বনিম্ন এবং সর্বোচ্চ উপাদান প্রদর্শন করে।

উদাহরণ 4

ট্রিসেটে উপস্থিত সমস্ত উপাদান পরিষ্কার করতে clear() পদ্ধতি ব্যবহার করা হয়। ট্রিসেটে clear() পদ্ধতি প্রয়োগ করা হলে খালি TreeSet ফেরত দেওয়া হয়।

পাবলিক ক্লাস 'ClearTreeSet' পূর্ববর্তী প্রোগ্রামে main() পদ্ধতির সাথে সেট করা হয়েছে। আমরা সেখানে খালি TreeSet তৈরি করেছি, যা TreeSet ক্লাস ভেরিয়েবল 'SetElements' এ সেট করা আছে। তারপর, আমরা TreeSet-এর ভিতরে add() পদ্ধতির সাহায্যে র্যান্ডম সংখ্যাগুলি সন্নিবেশিত করেছি। এর পরে, আমরা এর ভিতরের উপাদানগুলি দেখানোর জন্য TreeSet প্রিন্ট করেছি। প্রদর্শন করার পর, আমরা TreeSet সাফ করার জন্য clear() পদ্ধতি ব্যবহার করেছি।

উদাহরণ 5

TreeSet ভিন্ন ভিন্ন উপাদান যোগ করার অনুমতি দেবে না। যদি আমরা ক্লাসের ভিন্নধর্মী বস্তু যোগ করার চেষ্টা করি, তাহলে রানটাইমের সময় 'classCastException' ছুঁড়ে দেওয়া হবে। ট্রিসেট শুধুমাত্র সমজাতীয় এবং তুলনাযোগ্য বস্তু গ্রহণ করে।

আমরা জাভা ক্লাস 'HeterogenousObjectTreeSet'-এর মধ্যে main() পদ্ধতিটি স্থাপন করেছি যেখানে আমরা TreeSet ইন্টারফেস সেট করেছি। ট্রিসেটকে 'চারসেট' অবজেক্টে সংজ্ঞায়িত করা হয়েছে। উপাদানগুলি তারপর TreeSet এর 'CharSet' অবজেক্টে যোগ করা হয়। আমরা স্ট্রিংবাফার ইন্টারফেসের সাথে তুলনামূলক উপাদান সন্নিবেশিত করেছি। মনে রাখবেন যে TreeSet-এর ভিতরের শেষ উপাদানটি ভিন্নধর্মী, যা একটি পূর্ণসংখ্যার মান। তারপর, আমরা ভিন্ন ভিন্ন উপাদান পুনরুদ্ধার করার ফলাফল পেতে TreeSet উপাদানগুলি মুদ্রণ করেছি।

ফলাফলগুলি দেখায় যে TreeSet-এর প্রথম সূচক মান প্রদর্শিত হয় না, তবে তুলনামূলক বস্তুর কারণে সমস্ত অক্ষর উপাদান পর্দায় প্রদর্শিত হয়।

উপসংহার

Java TreeSet ক্লাসে শুধুমাত্র HashSet এর মত স্বতন্ত্র উপাদান রয়েছে। দ্রুত অ্যাক্সেসযোগ্যতা এবং পুনরুদ্ধারের সময়কালের কারণে বৃহৎ পরিমাণ প্রাসঙ্গিক ডেটা সঞ্চয় করার জন্য TreeSet হল সর্বোত্তম উপায়, দ্রুত ডেটা আবিষ্কারের সুবিধা। দস্তাবেজটি ট্রিসেট শ্রেণীর মৌলিক বিষয়গুলি কভার করে, এর ঘোষণা সহ। উপরন্তু, বিভিন্ন পদ্ধতি এবং অপারেশন এখানে আলোচনা করা হয়েছে.