CodeGym /Java Blog /এলোমেলো /জাভাতে হ্যাশম্যাপ getOrDefault পদ্ধতি
John Squirrels
লেভেল 41
San Francisco

জাভাতে হ্যাশম্যাপ getOrDefault পদ্ধতি

এলোমেলো দলে প্রকাশিত

জাভাতে হ্যাশম্যাপের জন্য getOrDefault পদ্ধতি কি?

getOrDefault পদ্ধতিটি হ্যাশম্যাপে নির্দিষ্ট কী-তে ম্যাপ করা মান ফিরিয়ে দেয় । যদি সেই কীটি উপস্থিত না থাকে তবে একটি ডিফল্ট মান ফেরত দেওয়া হয়।"
java.util.HashMap ক্লাসটি getOrDefault পদ্ধতির সাথে ডিফল্ট মান পাস করার একটি অতিরিক্ত সুবিধা প্রদান করে ডিফল্ট মান বিভিন্ন পরিস্থিতিতে বিভিন্ন উদ্দেশ্যে ব্যবহার করা যেতে পারে। সহজ প্রাপ্ত পদ্ধতির সাথে এর ব্যবহার এবং তুলনা পোস্টে পরে ব্যাখ্যা করা হবে।

getOrDefault() পদ্ধতির শিরোনাম কি?

getOrDefault পদ্ধতির জন্য নিয়মিত হেডার নিম্নরূপ সংজ্ঞায়িত করা হয়েছে।

hashMap.getOrDefault(Object key, Object defaultValue)

পরামিতি পাস

মেথড হেডার দুটি আর্গুমেন্ট নেয়। তারা নীচে তাদের ডেটা প্রকার সহ তালিকাভুক্ত করা হয়েছে।
  1. প্রথমটি হল অবজেক্ট টাইপের নির্দিষ্ট কী ।
  2. অন্য অবজেক্ট টাইপ হল প্যারামিটার হল ডিফল্ট ভ্যালু মেথড আর্গুমেন্ট হিসাবে অবজেক্ট কী- এর জন্য পাস করা।

getOrDefault() পদ্ধতিতে কাজ করা

আপনি নিম্নলিখিত দুটি সহজ ধাপে getOrDefault() পদ্ধতির কাজ বুঝতে পারেন ।
  1. getOrDefault (কী, ডিফল্ট ভ্যালু) হ্যাশম্যাপের কী - এর সাথে সম্পর্কিত মান পেতে ডিজাইন করা হয়েছে ।
  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() পদ্ধতি ব্যবহার করা হয় । যদি কী পাওয়া যায়, মানটি ফেরত দেওয়া হয়। কী খুঁজে না পাওয়া গেলে, "নাল" ফেরত দেওয়া হয়। getOrDefault () পদ্ধতিটি সাধারণ প্রাপ্ত পদ্ধতির চেয়ে পছন্দ করা হয় যখন একটি ডিফল্ট মান ফিরে আসার আশা করা হয়। আপনার বোঝার জন্য এখানে একটি সহজ উদাহরণ।

উদাহরণ 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() পদ্ধতির সাথে পরিচিত হতে হবে । আপনাকে অনুশীলনের মাধ্যমে শেখার পরামর্শ দেওয়া হচ্ছে। আপনি যদি পথ ধরে আটকে যান তাহলে নির্দ্বিধায় আবার এই পোস্টটি পরীক্ষা করুন। ততক্ষণ, অনুশীলন চালিয়ে যান এবং বাড়তে থাকুন!
মন্তব্য
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION