There are a few ways to convert a List to a Map in Kotlin by the Kotlin Library. In this post, we will be discussing, how we can convert List to Map using Kotlin Library.
Using associate()
data class CourseList(val id :String, val courseName :String) fun main(){ val myCourseList = listOf( CourseList("1", "Android"), CourseList("2", "Kotlin"), CourseList("3","Java"), CourseList("4","C"), CourseList("5","C++") ) println("list converted by using associate") val myCourseMap : Map<String, String> = myCourseList.associate { Pair(it.id, it.courseName) } println(myCourseMap) }
list converted by using associate {1=Android, 2=Kotlin, 3=Java, 4=C, 5=C++}
Using associateBy()
data class CourseList(val id :String, val courseName :String) fun main(){ val myCourseList = listOf( CourseList("1", "Android"), CourseList("2", "Kotlin"), CourseList("3","Java"), CourseList("4","C"), CourseList("5","C++") ) println("list converted by using associateBy") val myCourseMap2 : Map<String, String> = myCourseList.associateBy( {it.id}, {it.courseName} ) println(myCourseMap2) }
list converted by using associateBy {1=Android, 2=Kotlin, 3=Java, 4=C, 5=C++}
Using toMap()
data class CourseList(val id :String, val courseName :String) fun main(){ val myCourseList = listOf( CourseList("1", "Android"), CourseList("2", "Kotlin"), CourseList("3","Java"), CourseList("4","C"), CourseList("5","C++") ) println("list converted by using toMap") val myCourseMap3 : Map<String, String> = myCourseList.map { it.id to it.courseName }.toMap() println(myCourseMap3) }
list converted by using toMap {1=Android, 2=Kotlin, 3=Java, 4=C, 5=C++}