Коллекция List: Списки в Kotlin

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 заключается в том, что он неизменяем. Он не может добавить больше элементов в список после его объявления. Чтобы устранить это ограничение, структура коллекции предоставляет изменяемый список.

Оцените статью