현재 대부분의 옵저버에서 데이터를 아래와 같은 형식으로 받아오고있다.
//class
data class Person(val name:String,val age:Int)
//instantiate
val person = Person("ch8n", 25)
//access
val name = person.name
val age = person.age
그러나 아래와 같은 형식으로 간략화가 가능해보인다..
//class
data class Person(val name:String,val age:Int)
//instantiate
val developer = Person("Ch8n", 25)
//access
val (name,age) = developer
etc
//Data Class Destructuring
val person = Person(1, "Chetan", 25)
val(id, name, age) = person
//Collections Destructuring
//map
val map: HashMap<Int, Person> = HashMap()
map.put(1, person)
map.forEach { entry->
val(key,value) = entry
}
//List or Arrays
val threeItemList = listOf("one", "two", "three")
val (itemOne, itemtwo) = threeItemList
//Destructuring in Lambda
map.forEach { (key,value)-> ...}
//Destructuring in for loop
for ((key, value) in map) { ... }
Uploaded by N2T