CodeGym /جاوا بلاگ /Random-UR /جاوا میں لنکڈ ہیش میپ
John Squirrels
سطح
San Francisco

جاوا میں لنکڈ ہیش میپ

گروپ میں شائع ہوا۔

جاوا میں LinkedHashMap کیا ہے؟

کلیکشن فریم ورک کی LinkedHashMap کلاس میپ انٹرفیس کا ہیش ٹیبل اور لنکڈ لسٹ کا نفاذ ہے۔ یہ اپنی اندراجات کو ہیش ٹیبل میں اسٹور کرتا ہے اور اندراج کے آرڈر کو برقرار رکھنے کے لیے اندرونی طور پر دوگنا منسلک فہرست کا استعمال کرتا ہے۔ یہ LinkedList اندراج کے آرڈر کی وضاحت کرتی ہے جو کہ نقشہ میں چابیاں ڈالنے کی ترتیب ہے ۔ HashMap نے فوری اندراج ، تلاش ، اور حذف کرنے کا فائدہ فراہم کیا لیکن LinkedHashMap میں LinkedList کا نفاذ اندراج کی ترتیب کو بھی برقرار رکھتا ہے۔ جاوا میں LinkedHashMap - 1

LinkedHashMap کی خصوصیات

  1. یہ کلید پر مبنی اقدار پر مشتمل ہے۔
  2. یہ منفرد عناصر پر مشتمل ہے۔
  3. اس میں ایک null کلید اور متعدد null قدریں ہو سکتی ہیں۔
  4. یہ غیر مطابقت پذیر ہے۔
  5. یہ اندراج کے آرڈر کو برقرار رکھتا ہے جس کی وجہ سے تکرار زیادہ مہنگی ہوتی ہے۔

کارکردگی کے عوامل

LinkedHashMap کی کارکردگی بنیادی طور پر دو عوامل پر منحصر ہے جو ذیل میں بیان کیے گئے ہیں۔

صلاحیت

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

LinkedHashMap کا اعلان

LinkedHashMap بنانے کے لیے ، سب سے پہلے، ہمیں پیکیج درآمد کرنا ہوگا، جو java.util.LinkedHashMap ہے ۔
LinkedHashMap<Key, Value> lhm = new LinkedHashMap<>(12, 0.5f);
یہاں، Key نقشے میں چابیاں کی قسم ہے۔ قدر نقشہ میں نقش شدہ اقدار کی قسم ہے۔ 12 صلاحیت ہے جس کا مطلب ہے کہ یہ نقشے میں 12 اندراجات کو محفوظ کرے گا۔ 0.5f لوڈ فیکٹر ہے جس کا مطلب ہے کہ جب 50% آبادی ہو گی تو یہ ایک نیا نقشہ بنائے گا اور تمام اقدار کو اس نئے میں منتقل کر دے گا۔

LinkedHashMap کے عام طریقے

LinkedHashMap کے کچھ عام طریقوں کی فہرست یہ ہے ۔
طریقے تفصیل
واضح() نقشے میں موجود تمام نقشوں کو ہٹاتا ہے۔
پر مشتمل ہے ویلیو(آبجیکٹ ویلیو) درست لوٹاتا ہے اگر نقشہ کلید کو مخصوص قدر کے لیے نقش کرتا ہے۔
entrySet() نقشے میں میپنگ کا سیٹ ویو لوٹاتا ہے۔
حاصل کریں (آبجیکٹ کلید) مخصوص کلید کے خلاف قدر لوٹاتا ہے یا اگر کوئی کلید متعین نہیں کی گئی ہے۔
keySet() نقشے میں کلیدوں کا سیٹ ویو لوٹاتا ہے۔
اقدار() نقشے میں اقدار کا مجموعہ منظر لوٹاتا ہے۔
getOrDefault(آبجیکٹ کلید، V ڈیفالٹ ویلیو) وہ قدر لوٹاتا ہے جس سے مخصوص کلید وابستہ ہے یا ڈیفالٹ ویلیو اگر کوئی کلید وابستہ نہیں ہے۔

LinkedHasMap کی مثال

import java.util.LinkedHashMap;

class Main {
    public static void main(String[] args) {
        // Creating a LinkedHashMap of odd numbers
        LinkedHashMap<String, Integer> oddNumbers = new LinkedHashMap<>();
        // Using the put() method
        oddNumbers.put("One", 1);
        oddNumbers.put("Three", 3);
        System.out.println("LinkedHashMap1: " + oddNumbers);

        // Creating another LinkedHashMap
        LinkedHashMap<String, Integer> numbers = new LinkedHashMap<>();
        numbers.put("Two", 2);
        // Using putAll() method
        numbers.putAll(oddNumbers);
        System.out.println("LinkedHashMap2: " + numbers);

        // Using entrySet() method
        System.out.println("Key/Value mappings: " + numbers.entrySet());

        // Using keySet() method
        System.out.println("Keys: " + numbers.keySet());

        // Using values() method
        System.out.println("Values: " + numbers.values());

        // Using get() method
        int value1 = numbers.get("Three");
        System.out.println("Returned Number: " + value1);

        // Using getOrDefault() method
        int value2 = numbers.getOrDefault("Five", 5);
        System.out.println("Returned Number: " + value2);

        // Using remove() method
        int value = numbers.remove("Two");
        System.out.println("Removed value: " + value);

        // Using entrySet() method
        System.out.println("Key/Value mappings: " + numbers.entrySet());
    }
}

آؤٹ پٹ

LinkedHashMap1: {One=1, Three=3} LinkedHashMap2: {Two=2, One=1, Three=3} کلید/ویلیو میپنگ: [Two=2, One=1, Three=3] کلیدیں: [دو، ایک , تین] قدریں: [2, 1, 3] لوٹا ہوا نمبر: 3 لوٹا ہوا نمبر: 5 ہٹائی گئی قدر: 2 کلید/ویلیو میپنگ: [ایک=1، تین=3]

لنکڈ ہیش میپ بمقابلہ ہیش میپ

آئیے ان کے درمیان کچھ فرق دیکھتے ہیں، جبکہ دونوں نقشہ انٹرفیس کو نافذ کرتے ہیں۔
  1. LinkedHashMap اندراج کی ترتیب کو برقرار رکھتا ہے کیونکہ یہ دوہری منسلک فہرست کو اندرونی طور پر لاگو کرتا ہے۔
  2. LinkedHashMap کو مزید اسٹوریج کی ضرورت ہے کیونکہ یہ LinkedList کو نافذ کرتا ہے ۔
  3. کارکردگی کے حوالے سے، LinkedHashMap HashMap سے سست ہے ۔

نتیجہ

ہم امید کرتے ہیں کہ آپ جاوا میں LinkedHashMap کلاس، اس کے مختلف طریقے، اور ان کے نفاذ کو سمجھ گئے ہوں گے۔ مشق کرنے کے لیے آزاد محسوس کریں اور جب بھی آپ کو مزید مدد کی ضرورت ہو واپس آجائیں۔ خوش تعلیم!
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION