CodeGym /وبلاگ جاوا /Random-FA /LinkedHashMap در جاوا
John Squirrels
مرحله
San Francisco

LinkedHashMap در جاوا

در گروه منتشر شد

LinkedHashMap در جاوا چیست؟

کلاس LinkedHashMap از چارچوب مجموعه ها، اجرای Hashtable و LinkedList رابط Map است . ورودی‌های خود را در یک Hashtable ذخیره می‌کند و از یک لیست دوگانه به صورت داخلی برای حفظ ترتیب درج استفاده می‌کند. این LinkedList ترتیب درج را تعریف می کند که ترتیبی است که کلیدها در نقشه درج شده اند . HashMap مزایای درج سریع ، جستجو و حذف را فراهم می کند ، اما در LinkedHashMap پیاده سازی LinkedList ترتیب درج را نیز حفظ می کند. LinkedHashMap در جاوا - 1

ویژگی های LinkedHashMap

  1. این شامل مقادیر بر اساس کلید است.
  2. این شامل عناصر منحصر به فرد است.
  3. ممکن است یک کلید تهی و چندین مقدار تهی داشته باشد.
  4. غیر همگام است.
  5. ترتیب درج را حفظ می کند که باعث می شود تکرار گران تر شود.

عوامل عملکرد

عملکرد LinkedHashMap عمدتاً به دو عامل بستگی دارد که در زیر توضیح داده شده است.

ظرفیت

ظرفیت به معنای تعداد ورودی هایی است که می تواند ذخیره کند. اگر پارامتری ارائه نشده باشد، ظرفیت پیش فرض 16 است. ضریب بار ضریب بار به این معنی است که هر زمان که HashMap به درصد مشخصی که به عنوان پارامتر ارائه می شود، پر شود، یک HashMap جدید ایجاد می شود که اندازه آن دو برابر است و همه ورودی ها به این جدید منتقل می شوند. ضریب بار پیش فرض برای HashMap 0.75 است . به آن نسبت پر نیز می گویند .

اعلامیه LinkedHashMap

برای ایجاد یک LinkedHashMap ، ابتدا باید بسته را وارد کنیم که java.util.LinkedHashMap است .
LinkedHashMap<Key, Value> lhm = new LinkedHashMap<>(12, 0.5f);
در اینجا کلید نوع کلیدها در نقشه است. مقدار ، نوع مقادیر نگاشت شده در نقشه است. 12 ظرفیت است که به این معنی است که 12 ورودی را در نقشه ذخیره می کند. 0.5f ضریب بار است که به این معنی است که وقتی 50% پر شود، نقشه جدیدی ایجاد می کند و تمام مقادیر را به این نقشه جدید منتقل می کند.

روش های رایج LinkedHashMap

در اینجا لیستی از چند روش رایج LinkedHashMap آمده است .
مواد و روش ها شرح
واضح () تمام نگاشت های موجود در نقشه را حذف می کند.
containValue (مقدار شی) اگر نقشه کلید را به مقدار مشخص شده نگاشت درست را برمی‌گرداند.
enterSet() نمای تنظیم نقشه‌برداری‌های موجود در نقشه را برمی‌گرداند.
دریافت (کلید شی) مقدار را در مقابل کلید مشخص شده برمی‌گرداند یا اگر کلیدی مشخص نشده باشد null را برمی‌گرداند.
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} نگاشت کلید/مقدار: [دو=2، یک=1، سه=3] کلیدها: [دو، یک , سه] مقادیر: [2، 1، 3] شماره برگشتی: 3 عدد برگشتی: 5 مقدار حذف شده: 2 نگاشت کلید/مقدار: [One=1، Three=3]

LinkedHashMap در مقابل HashMap

بیایید تفاوت های بین آنها را ببینیم، در حالی که هر دو رابط Map را پیاده سازی می کنند .
  1. LinkedHashMap ترتیب درج را حفظ می‌کند، زیرا فهرست پیوندهای دوگانه را در داخل پیاده‌سازی می‌کند.
  2. LinkedHashMap هنگام پیاده سازی LinkedList به فضای ذخیره سازی بیشتری نیاز دارد .
  3. در مورد عملکرد، LinkedHashMap کندتر از HashMap است .

نتیجه

امیدواریم کلاس LinkedHashMap در جاوا، روش های مختلف آن و پیاده سازی آن ها را درک کرده باشید. با خیال راحت تمرین کنید و هر زمان که به کمک بیشتری نیاز داشتید برگردید. یادگیری مبارک!
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION