Apa metode getOrDefault untuk HashMaps di Jawa?
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.- Yang pertama adalah kunci yang ditentukan dari tipe Objek.
- 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.- getOrDefault (key, defaultValue) dirancang untuk mendapatkan nilai yang sesuai dengan kunci di HashMap .
- 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.
GO TO FULL VERSION