Kotlin Arrays & Collections
Estimated reading: 3 minutes 50 views

🗃️ Kotlin – Collections Overview: Lists, Sets & Maps Made Simple

🧲 Introduction – Why Learn Kotlin Collections?

Collections are core to modern programming. Kotlin offers a rich and flexible API for working with groups of data through Lists, Sets, and Maps. These collections come in both read-only (immutable) and mutable forms, giving you full control over how your data is stored, accessed, and modified.

🎯 In this guide, you’ll learn:

  • What collections are in Kotlin and why they’re important
  • Differences between List, Set, and Map
  • Immutable vs Mutable collections
  • Basic operations on collections

📦 What Are Kotlin Collections?

A collection is a container that holds multiple elements (values, key-value pairs, or unique entries). Kotlin provides:

  • List – ordered collection of elements
  • Set – unordered collection of unique elements
  • Map – collection of key-value pairs

🔍 Immutable vs Mutable Collections

TypeDescriptionExamples
ImmutableCannot be changed after creationlistOf(), setOf(), mapOf()
MutableCan add, remove, or modify elementsmutableListOf(), mutableSetOf(), mutableMapOf()

📃 Kotlin List – Ordered Collection

val colors = listOf("Red", "Green", "Blue")           // Immutable
val fruits = mutableListOf("Apple", "Banana", "Cherry") // Mutable

println(colors[0])         // Red
fruits.add("Mango")
  • Allows duplicate values
  • Indexed access using [index]

🔁 Kotlin Set – Unique Elements

val uniqueNums = setOf(1, 2, 2, 3)                    // Only stores 1, 2, 3
val editableSet = mutableSetOf("A", "B", "C")
editableSet.remove("B")
  • No duplicate values allowed
  • Ideal for membership checks and uniqueness

🔑 Kotlin Map – Key-Value Pairs

val countryCodes = mapOf("US" to "United States", "IN" to "India")
val editableMap = mutableMapOf("A" to 1, "B" to 2)
editableMap["C"] = 3
  • Access values using keys: countryCodes["US"]
  • Useful for dictionaries and lookup tables

🔁 Looping Through Collections

🔹 List Loop:

for (item in colors) {
    println(item)
}

🔹 Set Loop:

for (item in uniqueNums) {
    println(item)
}

🔹 Map Loop:

for ((key, value) in countryCodes) {
    println("$key -> $value")
}

📚 Common Collection Functions

FunctionPurpose
sizeTotal number of elements
contains(x)Checks if value exists
first(), last()Access first/last element
filter {}Returns elements that match criteria
map {}Transforms each element
sorted()Returns a sorted version of the collection

🚫 Common Mistakes

❌ Mistake✅ Fix
Mixing immutable and mutable operationsChoose the correct type for your use case
Expecting setOf(1, 2, 2) to have duplicatesSets store only unique elements
Using keys that don’t exist in a mapUse getOrDefault() or safe calls
Assuming order in sets or mapsOnly List guarantees order

✅ Best Practices for Kotlin Collections

TipWhy It Matters
Use immutable collections by defaultPromotes safer, predictable code
Use lambdas with filter, map, etc.Leads to concise and expressive data handling
Avoid using .get(index) repeatedlyPrefer forEach or destructuring when possible
Combine collections using +, -Useful for non-mutating operations

📌 Summary – Recap & Next Steps

Kotlin collections—List, Set, and Map—offer a modern, expressive way to organize and operate on groups of data. With both mutable and immutable options and a rich API of operations, they’re versatile tools in any Kotlin project.

🔍 Key Takeaways:

  • Lists hold ordered, indexed elements (with duplicates)
  • Sets hold unique elements (no duplicates)
  • Maps hold key-value pairs
  • Use immutable collections by default; switch to mutable when needed

⚙️ Practical Use:
Collections are used in API responses, user preferences, form validation, data grouping, and configuration across Android and server-side Kotlin applications.


❓ FAQs – Kotlin Collections

What is the difference between listOf() and mutableListOf()?
listOf() creates a read-only list. mutableListOf() allows you to add, remove, or update elements.


How do I check if a value exists in a collection?
✅ Use in keyword or contains():

if ("Apple" in fruits) { ... }

Can I convert an immutable list to a mutable one?
✅ Yes:

val mutable = immutable.toMutableList()

What if I want a collection without duplicates?
✅ Use setOf() or mutableSetOf() for uniqueness.


Can I sort a collection in Kotlin?
✅ Yes. Use .sorted() or .sort() for mutable collections.


Share Now :

Leave a Reply

Your email address will not be published. Required fields are marked *

Share

Kotlin – Collections Overview

Or Copy Link

CONTENTS
Scroll to Top