Read ordered values from a list.

list A list keeps values in order and lets you read by index.

List Basics

index
ListBasics.kt
Replay: real traced execution (multi-file project)
fun main() {
    val index = 1
    val names = listOf("Ada", "Bo", "Cy")
    val selected = names[index]
    val count = names.size

    println("selected=$selected")
    println("count=$count")
}
fun main() {
    val index = 0
    val names = listOf("Ada", "Bo", "Cy")
    val selected = names[index]
    val count = names.size

    println("selected=$selected")
    println("count=$count")
}
fun main() {
    val index = 2
    val names = listOf("Ada", "Bo", "Cy")
    val selected = names[index]
    val count = names.size

    println("selected=$selected")
    println("count=$count")
}
  1. index ← 1, names ← [Ada, Bo, Cy], selected ← Bo, count ← 3

    1fun main() {2    val index→ 1 = 1 //@index=0, 23    val names→ [Ada, Bo, Cy] = listOf("Ada", "Bo", "Cy")4    val selected→ Bo = names[index]Bo5    val count→ 3 = names.size367    println("selected=$selectedBo")8    println("count=$count3")9}
    outputselected=Bo
    count=3
  1. index ← 0, names ← [Ada, Bo, Cy], selected ← Ada, count ← 3

    1fun main() {2    val index→ 0 = 03    val names→ [Ada, Bo, Cy] = listOf("Ada", "Bo", "Cy")4    val selected→ Ada = names[index]Ada5    val count→ 3 = names.size367    println("selected=$selectedAda")8    println("count=$count3")9}
    outputselected=Ada
    count=3
  1. index ← 2, names ← [Ada, Bo, Cy], selected ← Cy, count ← 3

    1fun main() {2    val index→ 2 = 23    val names→ [Ada, Bo, Cy] = listOf("Ada", "Bo", "Cy")4    val selected→ Cy = names[index]Cy5    val count→ 3 = names.size367    println("selected=$selectedCy")8    println("count=$count3")9}
    outputselected=Cy
    count=3

Pick by Index

  1. names stores Ada, Bo, and Cy.
  2. Kotlin list indexes start at 0.
  3. index is 1.
  4. names[index] selects Bo.
  5. names.size reports 3. | Index | Name | Selected? | | --- | --- | --- | | 0 | Ada | no | | 1 | Bo | yes | | 2 | Cy | no |

Exercise: ListBasics.kt

Read one list value by index and print the selected name and list size