mapOf, entries, enum

Map<String, String> hashMap = new HashMap<>();
        
for (String key : hashMap.keySet()) {
    System.out.println("key : " + key);
    System.out.println("value : " + hashMap.get(key));
}
Map<String, String> hashMap = new HashMap<>();

for (Map.Entry<String, String> entry : hashMap.entrySet()) {
    System.out.println("key : " + entry.getKey());
    System.out.println("value : " + entry.getValue());
}
fun main() {
    val myMap = mapOf("apple" to 1,
                     "banana" to 2,
                     "orange" to 3)
    for (entry in myMap) { // Map.Entry<String, Int>
        println("key:${entry.key}, value:${entry.value}")
        /*
		key:apple, value:1
		key:banana, value:2
		key:orange, value:3
         */
    }
    // val myMapFirst = myMap.first() // compile error
    val myMapFirst = myMap.entries.first() // Map.Entry<String, Int>
    // entreis : Returns a read-only Set of all key/value pairs in this map.
    
    val myMap2 = mapOf(Lang.KOR to "123")
    println(myMap2) // KEY=KOR, value=123
    val entries = myMap2.entries.first()
    val key = entries.key // key:KOR
    val desc = entries.key.desc // desc:사과 // enum의 desc에 접근이 가능하다
}

enum class Lang(
	val desc: String
) {
    KOR("한글")
}