Difference between MutableList and List in Kotlin

Viewed 21003
  1. What is the difference between MutableList and List in Kotlin?
  2. and what is the use of each type?
2 Answers

From docs:

List: A generic ordered collection of elements. Methods in this interface support only read-only access to the list; read/write access is supported through the MutableList interface.

MutableList: A generic ordered collection of elements that supports adding and removing elements.

You can modify a MutableList: change, remove, add... its elements. In a List you can only read them.

  • List

    var language: List<String> = listOf("java", "kotlin", "dart")
    

    List type is an interface which provides read-only access. you are limited to read operations like

    get, indexof, subList, contains, size etc

with kotlin you have access to some more functions **like sort, stream,binarySearch

  • MutableList

Consider this example:

    var mutableLanguage: MutableList<String> = mutableListOf("java", "kotlin", "dart")

with mutablelist you can perform read and write operation i.e., add or remove contents of a list. beside supporting all the functions of interface type List.

add, addAll, replace, replaceAll, set, removeAt etc

Related