Lists

Read-only List

Example

listOf() creates an ordered, read-only list. Duplicates are allowed, and it prints nicely.

fun main() {
    val menu = listOf("Idli", "Dosa", "Vada", "Dosa")
    println(menu)
    println(menu.size)
    println(menu[1])
    println(menu.first())
    println(menu.last())
    println(menu.indexOf("Vada"))
    println("Upma" in menu)
    println(menu.isEmpty())
    println(menu.subList(1, 3))
}

Output

[Idli, Dosa, Vada, Dosa]
4
Dosa
Idli
Dosa
2
false
false
[Dosa, Vada]

Lists vs Arrays

ArrayListMutableList
Sizefixedfixed (read-only)grows and shrinks
Change elementsyesnoyes
Prints valuesno (needs contentToString)yesyes
== comparesreferencescontentscontents
Typical useperformance, Java APIs, varargsmost data in Kotlindata you build or edit