CodeGym /مدونة جافا /Random-AR /طريقة HashMap getOrDefault في Java
John Squirrels
مستوى
San Francisco

طريقة HashMap getOrDefault في Java

نشرت في المجموعة

ما هي طريقة getOrDefault لـ HashMaps في Java؟

" تقوم طريقة getOrDefault بإرجاع القيمة المعينة للمفتاح المحدد في HashMap . إذا لم يكن هذا المفتاح موجودًا، فسيتم إرجاع القيمة الافتراضية.
تأتي فئة java.util.HashMap مع طريقة getOrDefault لمنح امتياز إضافي لتمرير القيمة الافتراضية. يمكن استخدام القيمة الافتراضية لأغراض مختلفة في مواقف مختلفة. سيتم شرح استخدامه ومقارنته بطريقة get البسيطة لاحقًا في هذا المنشور.

ما هو رأس طريقة getOrDefault()؟

يتم تعريف الرأس العادي لطريقة getOrDefault على النحو التالي.
hashMap.getOrDefault(Object key, Object defaultValue)

مرت المعلمات

يأخذ رأس الطريقة وسيطتين. وقد تم إدراجهم مع أنواع البيانات الخاصة بهم أدناه.
  1. الأول هو المفتاح المحدد لنوع الكائن.
  2. نوع الكائن الآخر هو المعلمة defaultValue التي تم تمريرها لمفتاح الكائن كوسيطة الطريقة.

العمل بطريقة getOrDefault()

يمكنك فهم طريقة عمل طريقة getOrDefault() في الخطوتين البسيطتين التاليتين.
  1. تم تصميم getOrDefault (key, defaultValue) للحصول على القيمة المقابلة للمفتاح في HashMap .
  2. إذا كانت هناك قيمة مرتبطة بالمفتاح ، فسيتم إرجاع هذه القيمة . من ناحية أخرى، إذا كانت القيمة غير متوفرة، فسيتم إرجاع القيمة الافتراضية التي تم تمريرها كمعلمة إلى هذه الطريقة.

مثال 1

import java.util.HashMap;

public class Driver1{

	public static void main(String[] args) {

		// Declare a HashMap
		HashMap weekDays = new HashMap<>();

		// Add data to the HashMap
        weekDays.put("Monday", "Working Day");
        weekDays.put("Tuesday", "Working Day");
        weekDays.put("Wednesday", "Working Day");
        weekDays.put("Thursday", "Working Day");
        weekDays.put("Friday", "Working Day");
        weekDays.put("Saturday", "Off Day");
        weekDays.put("Sunday", "Off Day");

        // Print the data in the HashMap
        System.out.println("Working Schedule : " + weekDays + "\n");


        // Check if the given key is present in the Map
        // IF yes, its value will be returned
        String sunday = weekDays.getOrDefault("Sunday", "No Announcements Yet.");
        System.out.println("Is Sunday a working day?  " + sunday);

        // IF not, the default value passed will be returned
        String christmas = weekDays.getOrDefault("Christmas", "National Holiday");
        System.out.println("Is Christmas a working day?  " + christmas);

        // Key not present in the HashMap
        // Default Value returned
        String easter = weekDays.getOrDefault("Easter", "National Holiday");
        System.out.println("Is Easter a working day?  " + easter);
	}

}

انتاج |

جدول العمل: {الاثنين=يوم عمل، الخميس=يوم عمل، الجمعة=يوم عمل، الأحد=يوم إجازة، الأربعاء=يوم عمل، الثلاثاء=يوم عمل، السبت=يوم إجازة} هل الأحد يوم عمل؟ يوم العطلة هل عيد الميلاد يوم عمل؟ العطلة الوطنية هل عيد الفصح يوم عمل؟ عيد وطني

لماذا تستخدم طريقة getOrDefault() ولا تستخدم طريقة get()؟

يتم استخدام طريقة get() البسيطة في Java للحصول على قيمة المفتاح المطلوب في HashMap . إذا تم العثور على المفتاح، يتم إرجاع القيمة. في حالة عدم العثور على المفتاح، يتم إرجاع "فارغة". تُفضل طريقة getOrDefault() على طريقة get البسيطة عندما يُتوقع إرجاع قيمة افتراضية . وإليك مثال بسيط لفهمك.

مثال 2

import java.util.HashMap;
public class Driver2{

	public static void main(String[] args) {

	  HashMap<Object, Boolean> holidays = new HashMap<>();

	  // Add data to the HashMap
        holidays.put("Saturday",  true);
        holidays.put("Sunday", true);

        // Print the data in the HashMap
        System.out.println("Holidays: " + holidays + "\n");

        // Key not present, default value returned
        Object christmas = holidays.getOrDefault("Christmas", true);
        System.out.println("Is Christmas a holiday?  " + christmas);

        // Key not present, null returned
        christmas = holidays.get("Christmas");
        System.out.println("Is Christmas a holiday?  " + christmas);
	}
}

انتاج |

العطلات: {الأحد=صحيح، السبت=صحيح} هل عيد الميلاد عطلة؟ صحيح هل عيد الميلاد عطلة؟ باطل
يمكنك رؤية الفرق بين طريقة getOrDefault وطريقة get . كما هو مطبوع في المخرجات، تقوم الطريقة الأولى بإرجاع القيمة الافتراضية إذا لم يتم العثور على المفتاح بينما تقوم الطريقة الأخيرة بإرجاع القيمة الخالية.

خاتمة

بحلول نهاية هذا المنشور، يجب أن تكون على دراية بطريقة getOrDefault() الخاصة بـ HashMap . ننصحك بالتعلم عن طريق الممارسة. لا تتردد في التحقق من هذا المنشور مرة أخرى إذا واجهتك مشكلة على طول الطريق. حتى ذلك الحين، استمر في التدريب واستمر في النمو!
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION