CodeGym /Blog Java /rawak /Kaedah HashMap getOrDefault dalam Java
John Squirrels
Tahap
San Francisco

Kaedah HashMap getOrDefault dalam Java

Diterbitkan dalam kumpulan

Apakah kaedah getOrDefault untuk HashMaps di Java?

" Kaedah getOrDefault mengembalikan nilai yang dipetakan kepada kunci yang ditentukan dalam HashMap . Jika kunci itu tidak ada maka nilai lalai dikembalikan."
Kelas java.util.HashMap disertakan dengan kaedah getOrDefault untuk memberikan keistimewaan tambahan untuk menghantar nilai lalai. Nilai lalai boleh digunakan untuk tujuan yang berbeza dalam pelbagai situasi. Penggunaan dan perbandingannya dengan kaedah dapatkan mudah akan diterangkan kemudian dalam siaran.

Apakah tajuk untuk kaedah getOrDefault()?

Pengepala biasa untuk kaedah getOrDefault ditakrifkan seperti berikut.

hashMap.getOrDefault(Object key, Object defaultValue)

Parameter Lulus

Pengepala kaedah mengambil dua hujah. Mereka didaftarkan bersama-sama dengan jenis data mereka di bawah.
  1. Yang pertama ialah kunci yang ditentukan bagi jenis Objek.
  2. Jenis Objek yang lain ialah parameter ialah defaultValue yang diluluskan untuk kunci objek sebagai hujah kaedah.

Kaedah getOrDefault() berfungsi

Anda boleh memahami cara kerja kaedah getOrDefault() dalam dua langkah mudah berikut.
  1. getOrDefault (key, defaultValue) direka untuk mendapatkan nilai yang sepadan dengan kunci dalam HashMap .
  2. Jika terdapat nilai yang dikaitkan dengan kunci , maka nilai itu dikembalikan. Sebaliknya, jika nilai tidak tersedia, maka defaultValue yang diluluskan sebagai parameter kepada kaedah ini dikembalikan.

Contoh 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);
	}

}

Pengeluaran

Jadual Kerja : {Isnin=Hari Bekerja, Khamis=Hari Bekerja, Jumaat=Hari Bekerja, Ahad=Hari Cuti, Rabu=Hari Bekerja, Selasa=Hari Bekerja, Sabtu=Hari Cuti} Adakah Ahad hari bekerja? Hari Cuti Adakah Krismas hari bekerja? Cuti Kebangsaan Adakah Paskah hari bekerja? Cuti umum

Mengapa menggunakan kaedah getOrDefault() dan bukan get()?

Kaedah get() mudah dalam Java digunakan untuk mendapatkan nilai kunci yang diminta dalam HashMap . Jika kunci ditemui, nilai dikembalikan. Sekiranya kunci tidak dijumpai, "null" dikembalikan. Kaedah getOrDefault () diutamakan berbanding kaedah get mudah apabila nilai lalai dijangka akan kembali. Berikut ialah contoh mudah untuk pemahaman anda.

Contoh 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);
	}
}

Pengeluaran

Cuti: {Sunday=true, Saturday=true} Adakah Krismas cuti? benar Adakah Krismas cuti? null
Anda boleh melihat perbezaan antara getOrDefault dan kaedah get . Seperti yang dicetak dalam output, kaedah pertama mengembalikan nilai lalai jika kunci tidak dijumpai manakala yang kedua mengembalikan nilai nol.

Kesimpulan

Menjelang akhir siaran ini, anda mesti biasa dengan kaedah getOrDefault () HashMap . Anda dinasihatkan untuk belajar melalui latihan. Sila semak siaran ini sekali lagi jika anda terperangkap di sepanjang jalan. Sehingga itu, teruskan berlatih dan terus berkembang!
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION