Kotlin List接口

2024 年 8 月 29 日 | 阅读 3 分钟

Kotlin List 是一个接口,也是一个元素的通用集合。List接口继承自Collection<T>类。它是不可变的,其方法仅支持读取功能。

要使用List接口,我们需要使用它的函数,称为listOf(), listOf<E>()

列表中的元素遵循插入顺序,并且包含与数组相同的索引号。

List接口声明

Kotlin List接口的功能

List接口中有几个可用的函数。下面提到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 List 示例 1

让我们看一个使用 listOf() 函数的列表的示例。

输出

Ajay
Vijay
Prakash

Kotlin List 示例 2

listOf() 函数中,我们可以同时传递不同类型的数据。列表还可以使用索引范围遍历列表。

输出

1
2
3
Ajay
Vijay
Prakash

1
2
3
Ajay
Vijay
Prakash

Kotlin List 示例 3

为了更具体,我们可以提供列表的 泛型 类型,例如listOf<Int>(), listOf<String>(), listOf<Any>()。让我们看一个例子。

输出

print int list
1
2
3

print string list
Ajay
Vijay
Prakash

print any list
1
2
3
Ajay
Vijay
Prakash

Kotlin List 示例 4

让我们看看使用 listOf<T>() 函数的 Kotlin 列表接口的不同函数的使用。

输出

Ajay Vijay Prakash Vijay Rohan 
Ajay
1
3
5
true
true
[Prakash, Vijay]
false
[Vijay, Prakash, Vijay, Rohan]
[Ajay, Vijay, Prakash]

List接口的限制在于它是不可变的。声明后无法在列表中添加更多元素。为了解决这个限制,Collection框架提供了可变列表。