Java์ HashMaps์ ๋ํ getOrDefault ๋ฉ์๋๋ ๋ฌด์์ ๋๊น?
getOrDefault() ๋ฉ์๋์ ํค๋๋ ๋ฌด์์ ๋๊น?
getOrDefault ๋ฉ์๋ ์ ์ผ๋ฐ ํค๋๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ฉ๋๋ค.
hashMap.getOrDefault(Object key, Object defaultValue)
์ ๋ฌ๋ ๋งค๊ฐ๋ณ์
๋ฉ์๋ ํค๋๋ ๋ ๊ฐ์ ์ธ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์๋ ๋ฐ์ดํฐ ์ ํ๊ณผ ํจ๊ป ๋ฑ๋ก๋ฉ๋๋ค.- ์ฒซ ๋ฒ์งธ๋ ๊ฐ์ฒด ์ ํ์ ์ง์ ๋ ํค ์ ๋๋ค.
- ๋ค๋ฅธ ๊ฐ์ฒด ์ ํ์ ๋ฉ์๋ ์ธ์๋ก ๊ฐ์ฒด ํค ์ ๋ํด ์ ๋ฌ๋ ๋งค๊ฐ๋ณ์์ธ defaultValue ์ ๋๋ค.
getOrDefault() ๋ฉ์๋์ ์๋
๋ค์ ๋ ๊ฐ์ง ๊ฐ๋จํ ๋จ๊ณ๋ฅผ ํตํด getOrDefault() ๋ฉ์๋ ์ ์๋์ ์ดํดํ ์ ์์ต๋๋ค .- getOrDefault (key, defaultValue) ๋ HashMap ์ ํค ์ ํด๋นํ๋ ๊ฐ ์ ๊ฐ์ ธ์ค๋๋ก ์ค๊ณ๋์์ต๋๋ค .
- ํค ์ ์ฐ๊ฒฐ๋ ๊ฐ์ด ์์ผ๋ฉด ํด๋น ๊ฐ์ด ๋ฐํ๋ฉ๋๋ค. ๋ฐ๋ฉด์ ๊ฐ์ ์ฌ์ฉํ ์ ์์ผ๋ฉด ์ด ๋ฉ์๋์ ๋งค๊ฐ ๋ณ์๋ก ์ ๋ฌ๋ defaultValue๊ฐ ๋ฐํ๋ฉ๋๋ค.
์ 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);
}
}
์ฐ์ถ
๊ทผ๋ฌด ์ผ์ : {์์์ผ=๊ทผ๋ฌด์ผ, ๋ชฉ์์ผ=๊ทผ๋ฌด์ผ, ๊ธ์์ผ=๊ทผ๋ฌด์ผ, ์ผ์์ผ=ํด๋ฌด์ผ, ์์์ผ=๊ทผ๋ฌด์ผ, ํ์์ผ=๊ทผ๋ฌด์ผ, ํ ์์ผ=ํด์ผ} ์ผ์์ผ์ด ๊ทผ๋ฌด์ผ์ธ๊ฐ์? ํด๋ฌด์ผ ํฌ๋ฆฌ์ค๋ง์ค๋ ์ผํ๋ ๋ ์ธ๊ฐ์? ๊ตญ๊ฒฝ์ผ ๋ถํ์ ์ ๊ทผ๋ฌด์ผ์
๋๊น? ๊ณตํด์ผ
get() ๋ฉ์๋๊ฐ ์๋ getOrDefault()๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
Java์ ๊ฐ๋จํ get() ๋ฉ์๋๋ HashMap ์์ ์์ฒญ๋ ํค ๊ฐ์ ๊ฐ์ ธ์ค๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค . ํค๊ฐ ๋ฐ๊ฒฌ๋๋ฉด ๊ฐ์ด ๋ฐํ๋ฉ๋๋ค. ํค๋ฅผ ์ฐพ์ ์ ์๋ ๊ฒฝ์ฐ "null"์ด ๋ฐํ๋ฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ด ๋ฐํ๋ ๊ฒ์ผ๋ก ์์๋๋ ๊ฒฝ์ฐ getOrDefault () ๋ฉ์๋๊ฐ ๋จ์ํ get ๋ฉ์๋๋ณด๋ค ์ ํธ๋ฉ๋๋ค . ๋ค์์ ์ดํด๋ฅผ ๋๊ธฐ ์ํ ๊ฐ๋จํ ์์ ๋๋ค.์ 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);
}
}
์ฐ์ถ
ํด์ผ: {Sunday=true, Saturday=true} ํฌ๋ฆฌ์ค๋ง์ค๊ฐ ํด์ผ์ธ๊ฐ์? ์ฌ์ค ํฌ๋ฆฌ์ค๋ง์ค๊ฐ ํด์ผ์ธ๊ฐ์? ์๋
getOrDefault ์ get ๋ฉ์๋ ์ ์ฐจ์ด์ ์ ๋ณผ ์ ์์ต๋๋ค . ์ถ๋ ฅ์ ์ธ์๋ ๋๋ก ์ฒซ ๋ฒ์งธ ๋ฉ์๋๋ ํค๋ฅผ ์ฐพ์ ์ ์๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ๊ฐ์ ๋ฐํํ๊ณ ํ์๋ null์ ๋ฐํํฉ๋๋ค.
GO TO FULL VERSION