- Kotlin Tutorial
- Kotlin - Home
- Kotlin - Overview
- Kotlin - Environment Setup
- Kotlin - Architecture
- Kotlin - Basic Syntax
- Kotlin - Comments
- Kotlin - Keywords
- Kotlin - Variables
- Kotlin - Data Types
- Kotlin - Operators
- Kotlin - Booleans
- Kotlin - Strings
- Kotlin - Arrays
- Kotlin - Ranges
- Kotlin - Functions
- Kotlin Control Flow
- Kotlin - Control Flow
- Kotlin - if...Else Expression
- Kotlin - When Expression
- Kotlin - For Loop
- Kotlin - While Loop
- Kotlin - Break and Continue
- Kotlin Collections
- Kotlin - Collections
- Kotlin - Lists
- Kotlin - Sets
- Kotlin - Maps
- Kotlin Objects and Classes
- Kotlin - Class and Objects
- Kotlin - Constructors
- Kotlin - Inheritance
- Kotlin - Abstract Classes
- Kotlin - Interface
- Kotlin - Visibility Control
- Kotlin - Extension
- Kotlin - Data Classes
- Kotlin - Sealed Class
- Kotlin - Generics
- Kotlin - Delegation
- Kotlin - Destructuring Declarations
- Kotlin - Exception Handling
- Kotlin Useful Resources
- Kotlin - Quick Guide
- Kotlin - Useful Resources
- Kotlin - Discussion
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
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)
Q 1 - Which of the following is true about Kotlin Collections?
A - Kotlin provides mutable and immutable collection
B - List, Set and Map are Kotlin Collections
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") }
B - This will raise just a warning
Answer : C
Explanation
This will stop with error: val cannot be reassigned.
Q 2 - Which statement is not correct?
A - Kotlin List can have duplicate values
B - Kotlin Set can not have duplicate values
C - Immutable collection does not provide methods to change/update the collection.
D - Kotlin does not provide collection types: sets, lists, and maps
Answer : D
Explanation
Kotlin provides collection types: sets, lists, and maps