[kotlin] 맵(Map)을 사용하여 다른 데이터 구조를 표현하는 방법은 무엇인가요?
  1. 리스트를 맵으로 변환하기: 리스트의 각 요소를 키 또는 값으로 사용하여 맵을 생성할 수 있습니다. 예를 들어, 이름과 나이를 갖는 Person 객체의 리스트를 이름을 키로, 객체를 값으로 하는 맵으로 변환할 수 있습니다.
    val personList = listOf(Person("Alice", 25), Person("Bob", 30))
    val personMap = personList.associateBy { it.name }
    
  2. 배열을 맵으로 변환하기: 배열을 사용하여도 리스트를 사용하는 것과 유사한 방법으로 맵으로 변환할 수 있습니다.
    val personArray = arrayOf(Person("Alice", 25), Person("Bob", 30))
    val personMap = personArray.associateBy { it.name }
    
  3. 맵으로부터 리스트 또는 배열 생성하기: 맵의 키 또는 값들을 추출하여 리스트나 배열을 생성할 수 있습니다.
    val personMap = mapOf("Alice" to 25, "Bob" to 30)
    val names = personMap.keys.toList()
    val ages = personMap.values.toIntArray()
    
  4. 맵을 다른 맵으로 변환하기: 맵의 키 또는 값들을 변경하여 새로운 맵을 생성할 수 있습니다.
    val personMap = mapOf("Alice" to 25, "Bob" to 30)
    val updatedMap = personMap.mapKeys { it.key.toUpperCase() }
    

이와 같이, Kotlin의 맵을 활용하여 다른 데이터 구조를 표현하거나 변환하는 다양한 방법이 있습니다.