Kotlin List — это интерфейс и общий набор элементов. Интерфейс List наследует форму класса Collection<T>. Он неизменяем, и его методы поддерживают только функции чтения.
Чтобы использовать интерфейс списка коллекции List в Kotlin, нам нужно использовать его функцию с именем listOf(), listOf<E>().
Элементы списка следуют последовательности порядка вставки и содержат порядковый номер, такой же, как массив.
Список объявлений интерфейса
public interface List : Collection(source)
Функции интерфейса списка Kotlin
В интерфейсе списка доступно несколько функций. Некоторые функции интерфейса List упомянуты ниже.
| Функции | Описания |
|---|---|
| abstract fun contains(element: E): Boolean | Она проверяет, содержится ли указанный элемент в этой коллекции. |
| abstract fun containsAll(elements: Collection<E>): Boolean | Проверяет, что все указанные элементы содержатся в этой коллекции. |
| abstract operator fun get(index: Int): E | Она возвращает элемент по заданному индексу из списка. |
| abstract fun indexOf(element: E): Int | Возвращает индекс первого появления указанного элемента в списке или -1, если указанный элемент отсутствует в списке. |
| abstract fun isEmpty(): Boolean | Возвращает true, если список пуст, иначе false. |
| abstract fun iterator(): Iterator<E> | Возвращается итератор по элементам этого списка. |
| abstract fun lastIndexOf(element: E): Int | Возвращает индекс последнего появления указанного элемента в списке или возвращает -1, если указанный элемент отсутствует в списке. |
| abstract fun listIterator(): ListIterator<E> | Он возвращает итератор списка по элементам в правильной последовательности в текущем списке. |
| abstract fun listIterator(index: Int): ListIterator<E> | Возвращается итератор списка по элементам в правильной последовательности в текущем списке, начиная с указанного индекса. |
| abstract fun subList(fromIndex: Int, toIndex: Int): List | Нужна для возврата части списка от fromIndex(включительно) до toIndex(исключительно). |
Пример списка Kotlin 1
Давайте посмотрим на пример списка с использованием функции listOf().
fun main(args: Array){
var list = listOf("Ajay","Vijay","Prakash")//read only, fix-size
for(element in list){
println(element)
}
Выход:
Ajay Vijay Prakash
Пример списка Котлин 2
В функции listOf() мы можем передавать разные типы данных одновременно. Список также может перемещаться по списку, используя диапазон индексов.
fun main(args: Array){
var list = listOf(1,2,3,"Ajay","Vijay","Prakash")//read only, fix-size
for(element in list){
println(element)
}
println()
for(index in 0..list.size-1){
println(list[index])
}
}
Выход:
1 2 3 Ajay Vijay Prakash 1 2 3 Ajay Vijay Prakash
Пример списка 3
Для большей конкретики мы можем предоставить общие типы списка, такие как listOf(), listOf(), listOf() Давайте посмотрим на пример.
fun main(args: Array){
var intList: List = listOf(1,2,3)
var stringList: List = listOf("Ajay","Vijay","Prakash")
var anyList: List = listOf(1,2,3,"Ajay","Vijay","Prakash")
println("print int list")
for(element in intList){
println(element)
}
println()
println("print string list")
for(element in stringList){
println(element)
}
println()
println("print any list")
for(element in anyList){
println(element)
}
}
Выход:
print int list 1 2 3 print string list Ajay Vijay Prakash print any list 1 2 3 Ajay Vijay Prakash
Пример списка Kotlin 4
Давайте посмотрим на использование различных функций интерфейса списка Kotlin, используя функцию listOf().
fun main(args: Array){
var stringList: List = listOf("Ajay","Vijay","Prakash","Vijay","Rohan")
var list: List = listOf("Ajay","Vijay","Prakash")
for(element in stringList){
print(element+" ")
}
println()
println(stringList.get(0))
println(stringList.indexOf("Vijay"))
println(stringList.lastIndexOf("Vijay"))
println(stringList.size)
println(stringList.contains("Prakash"))
println(stringList.containsAll(list))
println(stringList.subList(2,4))
println(stringList.isEmpty())
println(stringList.drop(1))
println(stringList.dropLast(2))
}
Выход:
Ajay Vijay Prakash Vijay Rohan Ajay 1 3 5 true true [Prakash, Vijay] false [Vijay, Prakash, Vijay, Rohan] [Ajay, Vijay, Prakash]
Ограничение интерфейса List заключается в том, что он неизменяем. Он не может добавить больше элементов в список после его объявления. Чтобы устранить это ограничение, структура коллекции предоставляет изменяемый список.
