Computer >> 컴퓨터 >  >> 프로그램 작성 >> Android

Kotlin에서 목록을 지도로 변환하는 방법은 무엇입니까?

<시간/>

이 기사에서는 Kotlin Library에서 제공하는 다양한 옵션을 사용하여 List를 Map으로 변환하는 방법을 살펴보겠습니다.

예:Associate() 사용

목록을 지도로 변환하는 가장 표준적인 방법은 associate()를 사용하는 것입니다. 함수. 이 함수는 항목 목록을 인수로 사용하고 키-값 쌍이 포함된 맵을 반환합니다. 다음 예에서 작동 방식을 살펴보겠습니다.

예시

data class mySubjectList(var name: String, var priority: String)

fun main() {
   val mySubjectList: List<mySubjectList> = listOf(
      mySubjectList("Java", "1"),
      mySubjectList("Kotlin", "2"),
      mySubjectList("C", "3")
   )

   // Creating a map and adding my own list of values in it.
   val myMap: Map<String, String> = mySubjectList.associate {
      Pair(it.priority, it.name)
   }

   println(myMap)
}

출력

위의 코드를 실행하면 맵인 다음 출력이 생성되고 출력은 키-값 형식으로 표시됩니다.

{1=Java, 2=Kotlin, 3=C}

예:AssociateBy() 사용

AssociateBy() 목록을 맵으로 변환하는 데 사용할 수 있는 또 다른 기능입니다. 다음 예에서 동일한 구현 방법을 살펴보겠습니다.

예시

data class mySubjectList(var name: String, var priority: String)

fun main() {
   val mySubjectList: List<mySubjectList> = listOf(
      mySubjectList("Java", "1"),
      mySubjectList("Kotlin", "2"),
      mySubjectList("C", "3")
   )

   // Creating a map and adding my own list of the values in it
   val myMap: Map<String, String> = mySubjectList.associateBy(
      {it.priority}, {it.name}
   )

   println(myMap)
}

출력

맵인 다음 출력을 생성하고 키-값 형식으로 출력을 얻습니다.

{1=Java, 2=Kotlin, 3=C}

예:toMap() 사용

Kotlin 라이브러리는 항목 목록을 Map으로 변환하는 또 다른 기능을 제공합니다. Kotlin 지도 클래스에는 toMap()이라는 함수가 포함되어 있습니다. 주어진 컬렉션의 모든 키-값 쌍을 포함하는 새 맵을 반환합니다. 어떻게 작동하는지 봅시다.

예시

data class mySubjectList(var name: String, var priority: String)

fun main() {
   val mySubjectList: List<mySubjectList> = listOf(
      mySubjectList("Java", "1"),
      mySubjectList("Kotlin", "2"),
      mySubjectList("C", "3")
   )

   // Creating a map and adding my own list of the values in it .
   val myMap: Map<String, String> = mySubjectList.map{
      it.priority to it.name
   }.toMap()

   println(myMap)
}

출력

위의 코드를 실행하면 맵인 다음 출력이 생성되고 키-값 형식으로 출력이 표시됩니다.

{1=Java, 2=Kotlin, 3=C}