جاوا ٹری سیٹ

Jawa Ry Sy



TreeSet کو سب سے بنیادی SortedSet نفاذ میں سے ایک سمجھا جاتا ہے جو درخت کو اس کی بنیادی اسٹوریج کی قسم کے طور پر استعمال کرتا ہے۔ ٹری سیٹ میں، ہر قدر کو ترتیب شدہ ترتیب میں محفوظ کیا جاتا ہے۔ پہلے سے طے شدہ طور پر، تمام عددی قدریں صعودی ترتیب میں برقرار رہتی ہیں، اور سٹرنگز کو لغت کی بنیاد پر ترتیب دیا جاتا ہے۔ TreeSet صعودی اور لغت پر مبنی ترتیب کو برقرار رکھتا ہے چاہے موازنہ کی وضاحت کی گئی ہو یا نہیں۔ سیٹ انٹرفیس کو صحیح طریقے سے لاگو کرنے کے لیے، TreeSet کا موازنہ کے ساتھ ہم آہنگ ہونا چاہیے۔ مزید یہ کہ TreeSet میں کالعدم اقدار قابل قبول نہیں ہیں۔

مثال 1

TreeSet کے اندر عناصر کو شامل کرنے کے لیے add() طریقہ درکار ہے۔ بیان کردہ عنصر کو اسی ترتیب کی ترتیب کا استعمال کرتے ہوئے شامل کیا جائے گا جیسا کہ TreeSet کے بننے پر۔ اس میں ڈپلیکیٹ اندراجات شامل نہیں ہوں گے۔









پچھلے کوڈ کے اندر، ہم نے جاوا کی کلاسز اور طریقوں تک رسائی کے لیے جاوا کی یوٹیلیٹی کلاس داخل کی ہے۔ اگلا، main() طریقہ 'CreatingTreeSet' کلاس کی تعریف میں بند ہے۔ ہم نے مین () طریقہ کے اندر TreeSet کوڈ کا تجربہ کیا ہے۔ ہم نے سب سے پہلے کلاس TreeSet سے ایک متغیر 'person' بنایا ہے اور اعلان کردہ متغیر 'persons' میں خالی TreeSet انٹرفیس سیٹ کیا ہے۔



نوٹ کریں کہ ہم نے صرف سٹرنگ عناصر کو شامل کیا ہے کیونکہ TreeSet کی ڈیٹا کی قسم اس کا انٹرفیس بنانے کے وقت بتائی گئی ہے۔ ہم نے TreeSet میں پانچ سٹرنگ عناصر داخل کیے ہیں، جہاں ہر سٹرنگ عنصر منفرد ہے۔ پھر، ہم نے TreeSet کے ہر عنصر کو iterator() طریقہ سے عبور کیا، جو آؤٹ پٹ اسکرین پر صعودی ترتیب میں پرنٹ کیا جائے گا۔





TreeSet انٹرفیس کا استعمال کرتے ہوئے بنائے گئے عناصر درج ذیل آؤٹ پٹ اسنیپ پر آؤٹ پٹ کے طور پر حاصل کیے جاتے ہیں:



مثال 2

TreeSet بنانے کے بعد، عناصر کو TreeSet کے ذریعے تعاون یافتہ بلٹ ان طریقہ استعمال کر کے رسائی حاصل کی جا سکتی ہے۔ contains() طریقہ TreeSet میں مخصوص عنصر کو چیک کرتا ہے۔ پہلا () طریقہ TreeSet کے ابتدائی عنصر کو بازیافت کرتا ہے، جبکہ آخری () طریقہ TreeSet کے اختتامی عنصر کو بازیافت کرتا ہے۔

یوٹیلیٹی کلاس درآمد کرنے کے بعد، ہم نے ایک کلاس 'AccessingTreeSet' کی تعریف کی ہے۔ اگلا، ہم نے TreeSet عناصر تک رسائی کے لیے مخصوص جاوا کلاس میں main() طریقہ تعینات کیا۔ ہم نے TreeSet کلاس کے حوالے سے NavigableSet قسم کے 'رنگ' آبجیکٹ کا اعلان کیا ہے۔ TreeSet() خالی ہے، جسے add() طریقہ استعمال کرکے سٹرنگ ویلیوز کے ساتھ شامل کیا جاتا ہے۔ یہاں، ہم نے تین سٹرنگ ویلیو شامل کی ہیں، مختلف رنگوں کا نام۔ اس کے بعد، TreeSet کی قدریں پرنٹ اسٹیٹمنٹ کے ذریعے اسکرین پر ظاہر ہوں گی۔ اگلا، ہم نے ایک متغیر 'تلاش' بنایا ہے جہاں سٹرنگ کو چیک کرنے کے لیے شروع کیا گیا ہے۔ یہ چیک کرنے کے لیے کہ آیا فراہم کردہ درختوں میں سٹرنگ موجود ہے، ہم نے contains() طریقہ کو کال کیا ہے اور 'find' متغیر کو بطور پیرامیٹر شامل کیا ہے۔ Contains() طریقہ TreeSet سے مخصوص سٹرنگ عنصر کے وجود کی تصدیق کرتا ہے اور بولین نتائج پیدا کرتا ہے۔ مزید یہ کہ ہم نے TreeSet میں پہلا اور آخری عنصر بھی پہلے () طریقہ اور آخری () طریقہ سے حاصل کیا ہے۔ دونوں طریقے فراہم کردہ TreeSet میں پہلی اور آخری پوزیشن پر رکھے گئے مخصوص عنصر کو تیار کرتے ہیں۔

contains() طریقہ سے مخصوص سٹرنگ کی جانچ کرنا حقیقی قدر لوٹاتا ہے، جو ظاہر کرتا ہے کہ سٹرنگ عنصر contains() طریقہ کا حصہ ہے۔ اگلا، TreeSet کی پہلی قدر اور آخری قدر بھی ذیل میں دکھائی گئی ہے:

مثال 3

پچھلی مثال میں پہلے اور آخری عنصر تک رسائی حاصل کی گئی ہے۔ سب سے اونچے اور نچلے عناصر تک رسائی حاصل کرنے اور ختم کرنے کے لیے پول فرسٹ() اور پوللاسٹ() طریقہ استعمال کیا جاتا ہے۔ pollFirst() طریقہ پہلے سے کم ترین عنصر کو بازیافت کرنے اور ہٹانے کے لیے استعمال کیا جاتا ہے۔ pollLast() طریقہ TreeSet کے آخری حصے سے اعلیٰ ترین عنصر کو تلاش کرنے اور اسے ختم کرنے کے لیے لاگو کیا جاتا ہے۔

پروگرام جاوا کلاس 'LowerAndHigherValueFromTreeSet' کے ساتھ قائم کیا گیا ہے جہاں مین () طریقہ بنایا گیا ہے۔ یہاں، ہم نے TreeSet کلاس سے TreeSet انٹرفیس کو آبجیکٹ 'IntegerSet' قرار دے کر فراہم کیا ہے۔ ابتدائی طور پر، ہم نے ایک خالی TreeSet بنایا ہے جسے add() طریقہ استعمال کرکے عنصر کے ساتھ شامل کیا جا سکتا ہے۔ انٹیجر آئٹمز کو Add() طریقہ استعمال کرکے TreeSet میں لوڈ کیا جاتا ہے۔

اس کے بعد، ہم نے pollFirst() طریقہ اور pollLast() کا استعمال کرتے ہوئے ایک پرنٹ اسٹیٹمنٹ دیا۔ pollFirst() طریقہ مخصوص TreeSet سے پہلے سب سے کم عناصر حاصل کرتا ہے۔ دوسری طرف، pollLast() طریقہ TreeSet کے آخری سے اعلیٰ ترین عنصر حاصل کرتا ہے۔

نتائج pollFirst() اور pollLast() طریقوں سے حاصل کیے جاتے ہیں جنہوں نے آؤٹ پٹ میں TreeSet سے سب سے کم اور سب سے زیادہ عنصر ظاہر کیا۔

مثال 4

clear() طریقہ TreeSet میں موجود تمام عناصر کو صاف کرنے کے لیے استعمال کیا جاتا ہے۔ ٹری سیٹ پر صاف () طریقہ کے نفاذ کے بعد خالی TreeSet واپس آ جاتا ہے۔

پبلک کلاس 'ClearTreeSet' کو پچھلے پروگرام میں مین() طریقہ کے ساتھ سیٹ کیا گیا ہے۔ ہم نے وہاں خالی TreeSet تیار کیا ہے، جو TreeSet کلاس متغیر 'SetElements' میں سیٹ کیا گیا ہے۔ پھر، ہم نے TreeSet کے اندر add() طریقہ کی مدد سے بے ترتیب نمبرز ڈالے۔ اگلا، ہم نے TreeSet کو اس کے اندر موجود عناصر کو دکھانے کے لیے پرنٹ کیا۔ ڈسپلے کرنے کے بعد، ہم نے TreeSet کو صاف کرنے کے لیے clear() طریقہ استعمال کیا ہے۔

مثال 5

TreeSet متفاوت عناصر کے اضافے کی اجازت نہیں دے گا۔ اگر ہم کلاس کی متضاد اشیاء کو شامل کرنے کی کوشش کرتے ہیں، تو رن ٹائم کے دوران 'classCastException' پھینک دیا جائے گا۔ ٹری سیٹ صرف ان اشیاء کو قبول کرتا ہے جو یکساں اور موازنہ ہیں۔

ہم نے جاوا کلاس 'HeterogenousObjectTreeSet' کے اندر مین() طریقہ تعینات کیا ہے جہاں ہم نے TreeSet انٹرفیس سیٹ کیا ہے۔ TreeSet کی تعریف آبجیکٹ 'CharSet' میں کی گئی ہے۔ عناصر کو پھر TreeSet کے 'CharSet' آبجیکٹ میں شامل کیا جاتا ہے۔ ہم نے تقابلی عناصر کو StringBuffer انٹرفیس کے ساتھ داخل کیا ہے۔ نوٹ کریں کہ TreeSet کے اندر آخری عنصر متضاد ہے، جو ایک عدد عدد ہے۔ پھر، ہم نے متفاوت عنصر کی بازیافت کے نتائج حاصل کرنے کے لیے TreeSet عناصر کو پرنٹ کیا۔

نتائج سے پتہ چلتا ہے کہ TreeSet کی پہلی انڈیکس ویلیو ظاہر نہیں ہوتی ہے، لیکن تمام کریکٹر عناصر موازنہ اشیاء کی وجہ سے اسکرین پر ظاہر ہوتے ہیں۔

نتیجہ

جاوا ٹری سیٹ کلاس صرف مخصوص عناصر پر مشتمل ہے جیسے ہیش سیٹ۔ TreeSet اس کی تیز رفتار رسائی اور بازیافت کے دورانیے کی وجہ سے متعلقہ ڈیٹا کی بڑی مقدار کو ذخیرہ کرنے کا بہترین طریقہ ہے، جس سے ڈیٹا کی تیز رفتار دریافت کی سہولت ملتی ہے۔ اس دستاویز میں TreeSet کلاس کے بنیادی اصولوں کا احاطہ کیا گیا ہے، بشمول اس کا اعلان۔ مزید برآں، یہاں مختلف طریقوں اور کارروائیوں پر بھی تبادلہ خیال کیا گیا ہے۔