Created
August 24, 2022 05:31
-
-
Save PriyaSindkar/a74dc5c3efed40a848b5f777dac739d5 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
data class Address(var addressLine1: String, var city: String) | |
data class Person(var name: String, var address: Address) | |
fun main() { | |
// map | |
val listOfPeople = listOf<Person>( | |
Person("Jane", Address("Manjalpur", "Vadodara")), | |
Person("John", Address("Vastrapur", "Ahmedabad")), | |
Person("Bob", Address("Bandra", "Mumbai")) | |
) | |
val people = listOfPeople.map { it.name to it.address.city } | |
print("List of Pair of each person and their city = $people") | |
// flatmap | |
val listOfMumbaiPeople = listOf<Person>( | |
Person("John", Address("Thane", "Mumbai")), | |
Person("Bob", Address("Bandra", "Mumbai")) | |
) | |
val listOfVadodaraPeople = listOf<Person>( | |
Person("Jane", Address("Manjalpur", "Vadodara")), | |
Person("Alice", Address("Akota", "Vadodara")) | |
) | |
val allPeople = listOf(listOfMumbaiPeople, listOfVadodaraPeople) | |
val names = allPeople.flatMap { it.map { it.name } } | |
print("\nAll names from all lists = $names") | |
// flattten() - combine list of lists into one single list | |
print("\nSingle list of all people = ${allPeople.flatten()}") | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment