Skip to main content

Mutable List in Kotlin

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

Introduction

Mutable List is a fundamental concept every Kotlin developer should understand. Collections let you store and transform groups of values. Kotlin separates read-only and mutable views so you can express intent clearly in your APIs.

MutableListOf() creates a list that supports add, remove and update operations. 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

  • mutableListOf() creates a list that supports add, remove and update operations.
  • Use immutable list when data should not change after creation.
  • Mutable lists are useful for dynamic data.

Syntax

val list = mutableListOf(1, 2, 3)

Mutable List in Kotlin Example Program in Kotlin

fun main(args: Array<String>) {
    val numbers = mutableListOf(1, 2, 3)
    numbers.add(4)
    numbers.removeAt(0)
    println(numbers)
}

Sample Output

[2, 3, 4]

When to use

Use collections when the number of items is dynamic or when you need map/set semantics instead of a plain list.

How it works

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

  2. val numbers = mutableListOf(1, 2, 3) assigns or updates a value used later in the program.

  3. The println(numbers) statement writes a line to the console — this produces part of the sample output below.

  4. MutableListOf() creates a list that supports add, remove and update operations.

  5. 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 immutable listOf, setOf, mapOf for data that should not change after creation.
  • Use map, filter, and fold instead of manual loops when transforming collections.
  • Pick the smallest collection type that fits — don’t use a List when a Set is semantically correct.

Common Mistakes

  • Modifying a list while iterating it — use filter or iterator remove carefully.
  • Using mutableListOf when an immutable list would suffice, exposing accidental mutation.
  • Calling get on a Map without checking key existence — prefer getOrDefault or getValue.

Key Points

  • mutableListOf() creates a list that supports add, remove and update operations.
  • Use immutable list when data should not change after creation.
  • Mutable lists are useful for dynamic data.
  • 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 Mutable List in Kotlin?
MutableListOf() creates a list that supports add, remove and update operations.
When should I use Mutable List?
Use collections when the number of items is dynamic or when you need map/set semantics instead of a plain list.
How is Mutable List different from Java?
Mutable lists are useful for dynamic data.
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