CodeGym /Java Blogu /Rastgele /Java'da HashMap getOrDefault yöntemi
John Squirrels
Seviye
San Francisco

Java'da HashMap getOrDefault yöntemi

grupta yayınlandı

Java'da HashMaps için getOrDefault yöntemi nedir?

getOrDefault yöntemi, bir HashMap'te belirtilen anahtarla eşlenen değeri döndürür . Bu anahtar mevcut değilse varsayılan bir değer döndürülür.”
Java.util.HashMap sınıfı , varsayılan değeri geçirme konusunda ekstra bir ayrıcalık vermek için getOrDefault yöntemiyle birlikte gelir . Varsayılan değer, çeşitli durumlarda farklı amaçlar için kullanılabilir. Basit get yöntemiyle kullanımı ve karşılaştırması yazının ilerleyen kısımlarında açıklanacaktır.

getOrDefault() yönteminin başlığı nedir?

getOrDefault yöntemi için normal başlık aşağıdaki gibi tanımlanır.

hashMap.getOrDefault(Object key, Object defaultValue)

Geçilen Parametreler

Yöntem başlığı iki bağımsız değişken alır. Aşağıda veri türleriyle birlikte listelenirler.
  1. İlki, Nesne türünün belirtilen anahtarıdır .
  2. Diğer Object type is parameter, method argümanı olarak nesne anahtarı için geçirilen defaultValue'dur .

getOrDefault() yönteminin çalışması

Aşağıdaki iki basit adımda getOrDefault() yönteminin işleyişini anlayabilirsiniz .
  1. getOrDefault (key, defaultValue), HashMap'teki anahtara karşılık gelen değeri almak için tasarlanmıştır .
  2. Anahtarla ilişkilendirilmiş bir değer varsa , o zaman bu değer döndürülür. Öte yandan, değer mevcut değilse, bu yönteme parametre olarak iletilen defaultValue döndürülür.

örnek 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);
	}

}

Çıktı

Çalışma Programı : {Pazartesi=Çalışma Günü, Perşembe=Çalışma Günü, Cuma=Çalışma Günü, Pazar=İzin Günü, Çarşamba=Çalışma Günü, Salı=Çalışma Günü, Cumartesi=İzin Günü} Pazar iş günü mü? Tatil Günü Noel bir iş günü mü? Ulusal Tatil Paskalya bir iş günü mü? Ulusal tatil

Neden getOrDefault() yöntemini kullanıp get() yöntemini kullanmıyorsunuz?

Java'daki basit get() yöntemi , HashMap'te istenen anahtarın değerini almak için kullanılır . Anahtar bulunursa, değer döndürülür. Anahtarın bulunmaması durumunda “null” döndürülür. Bir varsayılan değerin döndürülmesi beklendiğinde basit get yöntemi yerine getOrDefault () yöntemi tercih edilir . İşte anlamanız için basit bir örnek.

Örnek 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);
	}
}

Çıktı

Tatiller: {Pazar=true, Saturday=true} Noel tatil mi? true Noel bir tatil mi? hükümsüz
getOrDefault ile get yöntemi arasındaki farkı görebilirsiniz . Çıktıda yazdırıldığı gibi, anahtar bulunmazsa ilk yöntem varsayılan değeri döndürürken ikincisi null değerini döndürür.

Çözüm

Bu yazının sonunda, bir HashMap'in getOrDefault () yöntemine aşina olmalısınız. Uygulayarak öğrenmeniz tavsiye edilir. Yolda takılırsanız bu gönderiyi tekrar kontrol etmekten çekinmeyin. O zamana kadar pratik yapmaya ve gelişmeye devam edin!
Yorumlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION