Skip to main content

Array Initialization in Kotlin

2 min read
Share:
On this page (12sections)

Introduction

Array Initialization is a fundamental concept every Kotlin developer should understand. Arrays store a fixed number of elements in memory with fast index-based access. They are useful when size is known upfront or when interoping with Java APIs.

The Array(size) { index -> value } syntax creates and initializes an array. In this tutorial you will learn the syntax, walk through a complete example program, study the sample output, and review best practices so you can apply the concept confidently in your own projects.

Definition

  • The Array(size) { index -> value } syntax creates and initializes an array.
  • Each index can produce a different value using a lambda.
  • This is useful for computed initial values.

Syntax

Array(5) { it * 2 }

Array Initialization in Kotlin Example Program in Kotlin

fun main(args: Array<String>) {
    val squares = Array(5) { index -> index * index }
    for (value in squares) {
        print("$value ")
    }
}

Sample Output

0 1 4 9 16

When to use

Use arrays when you need fixed-size storage, primitive arrays without boxing overhead, or compatibility with Java vararg APIs.

How it works

  1. The program starts with a main function — the entry point that runs when you execute the file.

  2. val squares = Array(5) { index -> index * index } assigns or updates a value used later in the program.

  3. The Array(size) { index -> value } syntax creates and initializes an array.

  4. Run the program in IntelliJ IDEA, Android Studio, or with the Kotlin command-line compiler (kotlinc / kotlin). Compare your console output with the sample output shown below.

Best Practices

  • Prefer listOf or arrayOf factory functions over manual size allocation when possible.
  • Use typed arrays (IntArray) for numeric data to avoid boxing overhead.
  • Bounds-check mentally: invalid indices throw IndexOutOfBoundsException.

Common Mistakes

  • Confusing Array<Int> (boxed) with IntArray (unboxed primitives).
  • Assuming arrays are dynamically resizable like ArrayList — they are fixed size.
  • Using reference equality (===) when comparing array contents — use contentEquals.

Key Points

  • The Array(size) { index -> value } syntax creates and initializes an array.
  • Each index can produce a different value using a lambda.
  • This is useful for computed initial values.
  • Test the example locally and verify the output matches the sample.
  • Experiment by changing input values to see how behaviour changes.

Notes

  • Semicolons at the end of statements are optional in Kotlin.

Frequently Asked Questions

What is Array Initialization in Kotlin?
The Array(size) { index -> value } syntax creates and initializes an array.
When should I use Array Initialization?
Use arrays when you need fixed-size storage, primitive arrays without boxing overhead, or compatibility with Java vararg APIs.
How is Array Initialization different from Java?
This is useful for computed initial values.
How do I practice this topic?
Copy the example program into IntelliJ IDEA or Android Studio, run it, then modify values or add print statements to confirm your understanding.

Related Tutorials

Search tutorials