CodeGym /Java Blog /Acak /Metode HashMap getOrDefault di Jawa
John Squirrels
Level 41
San Francisco

Metode HashMap getOrDefault di Jawa

Dipublikasikan di grup Acak

Apa metode getOrDefault untuk HashMaps di Jawa?

“ Metode getOrDefault mengembalikan nilai yang dipetakan ke kunci yang ditentukan dalam HashMap . Jika kunci itu tidak ada maka nilai default dikembalikan.”
Kelas java.util.HashMap hadir dengan metode getOrDefault untuk memberikan hak ekstra untuk meneruskan nilai default. Nilai default dapat digunakan untuk tujuan yang berbeda dalam berbagai situasi. Penggunaan dan perbandingannya dengan metode get sederhana akan dijelaskan nanti di postingan.

Apa tajuk untuk metode getOrDefault()?

Header reguler untuk metode getOrDefault didefinisikan sebagai berikut.

hashMap.getOrDefault(Object key, Object defaultValue)

Parameter Lulus

Header metode mengambil dua argumen. Mereka terdaftar bersama dengan tipe data mereka di bawah ini.
  1. Yang pertama adalah kunci yang ditentukan dari tipe Objek.
  2. Tipe Objek lainnya adalah parameter defaultValue yang diteruskan untuk kunci objek sebagai argumen metode.

Bekerja dari metode getOrDefault()

Anda dapat memahami cara kerja metode getOrDefault() dalam dua langkah sederhana berikut.
  1. getOrDefault (key, defaultValue) dirancang untuk mendapatkan nilai yang sesuai dengan kunci di HashMap .
  2. Jika ada nilai yang terkait dengan key , maka nilai tersebut dikembalikan. Di sisi lain, jika nilainya tidak tersedia, maka defaultValue yang diteruskan sebagai parameter ke metode ini akan 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);
	}

}

Keluaran

Jadwal Kerja : {Senin=Hari Kerja, Kamis=Hari Kerja, Jumat=Hari Kerja, Minggu=Hari Libur, Rabu=Hari Kerja, Selasa=Hari Kerja, Sabtu=Hari Libur} Apakah hari Minggu adalah hari kerja? Hari Libur Apakah Natal adalah hari kerja? Libur Nasional Apakah Paskah adalah hari kerja? Libur nasional

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

Metode get() sederhana di Java digunakan untuk mendapatkan nilai kunci yang diminta di HashMap . Jika kunci ditemukan, nilainya dikembalikan. Jika kunci tidak ditemukan, "null" dikembalikan. Metode getOrDefault() lebih disukai daripada metode get sederhana ketika nilai default diharapkan untuk dikembalikan. Berikut adalah contoh sederhana 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);
	}
}

Keluaran

Hari Libur: {Sunday=true, Saturday=true} Apakah Natal adalah hari libur? benar Apakah Natal adalah hari libur? batal
Anda dapat melihat perbedaan antara getOrDefault dan metode get . Seperti yang dicetak di output, metode pertama mengembalikan nilai default jika kunci tidak ditemukan sedangkan yang kedua mengembalikan nol.

Kesimpulan

Pada akhir posting ini, Anda harus terbiasa dengan metode getOrDefault() dari HashMap . Anda disarankan untuk belajar dengan praktek. Jangan ragu untuk memeriksa posting ini lagi jika Anda terjebak di sepanjang jalan. Sampai saat itu, teruslah berlatih dan terus berkembang!
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION