Kotlin - Collections


Collections are a common concept for most programming languages. A collection usually contains a number of objects of the same type and Objects in a collection are called elements or items.

The Kotlin Standard Library provides a comprehensive set of tools for managing collections. The following collection types are relevant for Kotlin:

  • Kotlin List - List is an ordered collection with access to elements by indices. Elements can occur more than once in a list.

  • Kotlin Set - Set is a collection of unique elements which means a group of objects without repetitions.

  • Kotlin Map - Map (or dictionary) is a set of key-value pairs. Keys are unique, and each of them maps to exactly one value.

Kotlin Collection Types

Kotlin provides the following types of collection:

  • Collection or Immutable Collection

  • Mutable Collection

Kotlin Immutable Collection

Immutable Collection or simply calling a Collection interface provides read-only methods which means once a collection is created, we can not change it because there is no method available to change the object created.

Collection Types Methods of Immutable Collection
List listOf()
listOf<T>()
Map mapOf()
Set setOf()

Example

fun main() {
    val numbers = listOf("one", "two", "three", "four")
    
    println(numbers)
}

When you run the above Kotlin program, it will generate the following output:

[one, two, three, four]

Kotlin Mutable Collection

Mutable collections provides both read and write methods.

Collection Types Methods of Immutable Collection
List ArrayList<T>()
arrayListOf()
mutableListOf()
Map HashMap
hashMapOf()
mutableMapOf()
Set hashSetOf()
mutableSetOf()

Example

fun main() {
    val numbers = mutableListOf("one", "two", "three", "four")
    
    numbers.add("five")
    
    println(numbers)
}

When you run the above Kotlin program, it will generate the following output:

[one, two, three, four, five]
Note that altering a mutable collection doesn't require it to be a var.

Quiz Time (Interview & Exams Preparation)

Answer : D

Explanation

All the given statements are true about Kotlin Collections

Q 2 - What will be the output of the following program:

fun main() {
    val numbers = listOf("one", "two", "three", "four")
    
    numbers = listOf("five")
}

A - This will print 0

B - This will raise just a warning

C - Compilation will stop with error

D - None of the above

Answer : C

Explanation

This will stop with error: val cannot be reassigned.

Advertisements