Kotlin: Convert a List to an Array

1. Introduction

Kotlin provides rich APIs to seamlessly work with both collections (like lists) and arrays. However, there are situations when we might need to convert between these two data structures, be it for compatibility with external libraries or specific performance optimizations. This guide focuses on converting a List into an Array in Kotlin.

2. Program Overview

Our program will:

1. Create a list of strings.

2. Convert the list into an array.

3. Display both the original list and the resulting array for verification.

3. Code Program

fun main() {
    // Step 1: Create a list of strings
    val listOfStrings = listOf("apple", "banana", "cherry")

    // Step 2: Convert the list into an array
    val arrayOfStrings: Array<String> = listOfStrings.toTypedArray()

    // Step 3: Display both the original list and the resulting array
    println("List: $listOfStrings")
    println("Array: ${arrayOfStrings.joinToString()}")  


List: [apple, banana, cherry]
Array: apple, banana, cherry

4. Step By Step Explanation

1. Creating a List: The program starts by defining a list named listOfStrings containing three fruit names.

2. List to Array Conversion: The Kotlin List has a convenient function called toTypedArray(). This function converts any list into an array. We use this method on listOfStrings to obtain arrayOfStrings.

3. Display the Results:

  • The original list is showcased using a standard println statement.
  • The array, however, doesn't display nicely using a standard println as it doesn't override the toString method. Hence, we use joinToString() to convert it into a readable string format before displaying. 

Kotlin's standard library offers straightforward mechanisms for transitions between collections and arrays, making the process intuitive and clean.