جاوا ٹری میپ ڈیٹا سٹرکچر کا استعمال کیسے کریں۔

جاوا ٹری میپ ڈیٹا سٹرکچر کا استعمال کیسے کریں۔

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





TreeMap ڈیٹا ڈھانچہ کلیدی قدر کے جوڑوں کو ذخیرہ کرتا ہے اور آپ کو اس ڈیٹا پر CRUD آپریشن انجام دینے کی اجازت دیتا ہے۔





جاوا میں ٹری میپ کیسے بنائیں

TreeMap کلاس میں چار کنسٹرکٹرز ہیں جنہیں آپ ایک نیا TreeMap آبجیکٹ بنانے کے لیے استعمال کر سکتے ہیں۔ ڈیفالٹ کنسٹرکٹر چاروں میں سب سے زیادہ مقبول ہے۔ یہ کنسٹرکٹر کوئی دلائل نہیں لیتا اور ایک خالی درخت کا نقشہ تیار کرتا ہے۔





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

مندرجہ بالا کوڈ ایک خالی درخت کا نقشہ تیار کرتا ہے جسے کہا جاتا ہے۔ گاہکوں .

TreeMap ڈیٹا سٹرکچر کو آباد کرنا

دی ڈال () طریقہ 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");

مندرجہ بالا کوڈ پانچ گاہکوں کو، بے ترتیب ترتیب میں، گاہکوں کے درخت کے نقشے میں شامل کرتا ہے۔

ٹری میپ میں آئٹمز دیکھنا

TreeMap کلاس اپنے ڈیٹا کو کسی آبجیکٹ میں اسٹور کرتی ہے۔ لہذا، درخت کے نقشے میں تمام اشیاء کو دیکھنے کے لیے آپ آسانی سے ٹری میپ آبجیکٹ کو کنسول پر پرنٹ کر سکتے ہیں:





// 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}

اوپر اعتراض میں مشیل نوح بدل دیتا ہے جم ریلی .

TreeMap سے اشیاء کو حذف کرنا

اگر آپ درخت کے نقشے سے کسی ایک شے کو ہٹانا چاہتے ہیں، دور() طریقہ آپ کا واحد آپشن ہے۔ یہ اس آئٹم سے منسلک کلید لیتا ہے جسے آپ ہٹانا چاہتے ہیں اور حذف شدہ قدر واپس کرتا ہے۔

// 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 کلاس کو بڑھاتے ہیں۔ یہ رشتہ TreeMap اور HashMap کلاسز کو ایک جیسے بہت سے افعال تک رسائی فراہم کرتا ہے۔

تاہم، ان دو نقشوں کی کلاسوں کے درمیان کچھ قابل ذکر فرق موجود ہیں۔ ٹری میپ میپ انٹرفیس کے ریڈ بلیک ٹری کے نفاذ کا استعمال کرتا ہے، جبکہ ہیش میپ ہیش ٹیبل کا استعمال کرتا ہے۔ HashMap آپ کو ایک null کلید کو ذخیرہ کرنے کی اجازت دیتا ہے، جبکہ TreeMap ایسا نہیں کرتا ہے۔ آخر میں، ایک HashMap ایک TreeMap سے تیز ہے. سابق کی الگورتھمک رفتار O(1) ہے جبکہ بعد کی O(log(n)) ہے۔