List

Интерфейс List представляет собой неизменяемую коллекцию элементов с сохранением порядка добавления. Поддерживает доступ к элементам по индексу, может содержать дубликаты и null-значения. Реализует интерфейс Collection. Для создания изменяемого списка используйте MutableList.

Импорт

kotlinimport kotlin.collections.List

Синтаксис

kotlininterface List<out E> : Collection<E>

Создание списка

Создание списка с помощью функции listOf:

kotlinval numbers: List<Int> = listOf(1, 2, 3, 4, 5)
val strings: List<String> = listOf("a", "b", "c", "d", "e")
val mixed: List<Any> = listOf(1, "text", 3.14, true)

Пример

Доступ к элементам списка по индексу:

kotlinval list = listOf("a", "b", "c", "d", "e")
val first = list[0]
val last = list[list.size - 1]

println(first)
println(last)

Результат выполнения кода:

kotlinString "a"
String "e"

Пример

Проверка наличия элемента в списке:

kotlinval numbers = listOf(1, 2, 3, 4, 5)
val hasThree = numbers.contains(3)
val hasTen = numbers.contains(10)

println(hasThree)
println(hasTen)

Результат выполнения кода:

kotlinBoolean true
Boolean false

Пример

Итерация по элементам списка:

kotlinval list = listOf("a", "b", "c", "d", "e")

for (item in list) {
  println(item)
}

Результат выполнения кода:

kotlinString "a"
String "b"
String "c"
String "d"
String "e"

Пример

Использование методов списка:

kotlinval numbers = listOf(5, 2, 8, 1, 9)
val sorted = numbers.sorted()
val reversed = numbers.reversed()
val filtered = numbers.filter { it > 3 }

println(sorted)
println(reversed)
println(filtered)

Результат выполнения кода:

kotlinList<Int> [1, 2, 5, 8, 9]
List<Int> [9, 1, 8, 2, 5]
List<Int> [5, 8, 9]

Пример

Список с null-значениями:

kotlinval listWithNulls = listOf("a", null, "c", null, "e")
val withoutNulls = listWithNulls.filterNotNull()

println(listWithNulls)
println(withoutNulls)

Результат выполнения кода:

kotlinList<String?> ["a", null, "c", null, "e"]
List<String> ["a", "c", "e"]

Смотрите также

  • интерфейс MutableList,
    который представляет изменяемый список
  • интерфейс Collection,
    который является родительским интерфейсом для List
  • класс ArrayList,
    который является реализацией изменяемого списка
  • класс Array,
    который представляет массив фиксированного размера