List

Последнее обновление: 02.06.2021

List представляет последовательный список элементов. При этом List представляет неизменяемую (immutable) коллекцию, которая в основном только обеспечивает получение элементов по позиции.

Интерфейс List расширяет интерфейс Collection, поэтому перенимает его возможности.

Для создания объекта List применяется метод listOf():

var numbers = listOf(1, 2, 3, 4, 5, null)
var numbers2: List<Int> = listOf(5, 6, 7)

Тип List позволяет получать данные с помощью различных методов. Основные из них:

  • get(index): возвращает элемент по индексу

  • elementAt(index): возвращает элемент по индексу

  • elementAtOrNull(index): возвращает элемент по индексу, если такого элемента не окажется, возвращает null

  • first(): возвращает первый элемент

  • last(): возвращает последний элемент

  • indexOf(element): возвращает первый индекс элемента

  • lastIndexOf(element): возвращает последний индекс элемента

  • contains(element): возвращает true, если элемент присутствует в списке

fun main() {
    val numbers : List<Int> = listOf(1, 2, 3, 4, 5)

    // перебор списка
    for (n in numbers){
        print(n)
    }
    println()

    println(numbers.get(1))         // 2
    println(numbers.indexOf(2))     // 1
    println(numbers.lastIndexOf(3)) // 2
    println(numbers.first())        // 1
    println(numbers.last())         // 5
    println(numbers.size)           //5
    println(numbers.contains(4))    // true
    println(numbers.elementAt(1))   // 2
    println(numbers.elementAtOrNull(9))  // null
}

Изменяемые списки

Изменяемые списки представлены интерфейсом MutableList. Он расширяет интерфейс List и позволяют добавлять и удалять элементы. Данный интерфейс реализуется классом ArrayList.

Для создания изменяемых списков можно использовать ряд методов:

  • arrayListOf(): создает объект ArrayList

  • mutableListOf(): создает объект MutableList

Создание изменяемых списков:

var numbers : ArrayList<Int> = arrayListOf(1, 2, 3, 4, 5)
var numbers2: MutableList<Int> = mutableListOf(5, 6, 7)

Если необходимо добавлять или удалять элементы, то надо использовать методы MutableList:

  • add(index, element): добавлят элемент по индексу

  • add(element): добавляет элемент

  • addAll(collection): добавляет коллекцию элементов

  • remove(element): удаляет элемент

  • removeAt(index): удаляет элемент по индексу

  • clear(): удаляет все элементы коллекции

fun main() {

    val numbers1 : ArrayList<Int> = arrayListOf(1, 2, 3, 4, 5)
    numbers1.add(4)
    numbers1.clear()
	
    val numbers2: MutableList<Int> = mutableListOf(5, 6, 7)

    numbers2.add(12)
    numbers2.add(0, 23)
    numbers2.addAll(0, listOf(-3, -2, -1))
    numbers2.removeAt(0)
    numbers2.remove(5)

    for (n in numbers2){ println(n) }
}
Помощь сайту
WebMoney
  • P378451176208
  • Z280152397659
ЮMoney/Яндекс-Деньги
  • 410011174743222
PayPal
  • metanit22@mail.ru
Перевод на карту
  • Номер карты: 4048415020898850