本文概述
- 列表接口声明
- Kotlin列表界面的功能
要使用List接口, 我们需要使用其名为listOf(), listOf < E> ()的函数。
list的元素遵循插入顺序, 并包含与数组相同的索引号。
列表接口声明
public interface List<
out E>
: Collection<
E>
(source)
Kotlin列表界面的功能列表界面中有几种功能可用。 List界面的一些功能在下面提到。
功能 | 说明 |
---|---|
抽象乐趣contains(e:E):布尔 | 它检查指定的元素是否包含在此集合中。 |
抽象乐趣containsAll(elements:Collection < E> ):布尔值 | 它检查所有指定的元素都包含在此集合中。 |
抽象运算符fun get(index:Int):E | 它从列表中返回给定索引处的元素。 |
抽象乐趣indexOf(e:E):Int | 返回列表中指定元素首次出现的索引;如果列表中不存在指定元素, 则返回-1。 |
抽象乐趣isEmpty():布尔值 | 如果列表为空, 则返回true, 否则返回false。 |
抽象乐趣iterator():Iterator < E> | 它在此列表的元素上返回一个迭代器。 |
抽象乐趣lastIndexOf(e:E):Int | 它返回列表中最后一次出现的指定元素的索引, 如果列表中不存在指定元素, 则返回-1。 |
抽象乐趣listIterator():ListIterator < E> | 它以正确的顺序在当前列表中的元素上返回列表迭代器。 |
抽象乐趣listIterator(索引:Int):ListIterator < E> | 它从指定的索引开始, 以适当的顺序在当前列表中的元素上返回列表迭代器。 |
抽象乐趣subList(fromIndex:Int, toIndex:Int):列表 | 它返回介于fromIndex(包括)到toIndex(不包括)之间的列表的一部分。 |
【Kotlin列表接口】让我们来看一个使用listOf()函数的列表示例。
fun main(args: Array<
String>
){var list = listOf("Ajay", "Vijay", "Prakash")//read only, fix-sizefor(element in list){println(element)}
输出:
AjayVijayPrakash
Kotlin清单示例2
在listOf()函数中, 我们可以同时传递不同类型的数据。列表也可以使用索引范围遍历列表。
fun main(args: Array<
String>
){var list = listOf(1, 2, 3, "Ajay", "Vijay", "Prakash")//read only, fix-sizefor(element in list){println(element)}println()for(index in 0..list.size-1){println(list[index])}}
输出:
123AjayVijayPrakash123AjayVijayPrakash
Kotlin清单示例3
更具体地讲, 我们可以提供列表的通用类型, 例如listOf < Int> (), listOf < String> (), listOf < Any> ()。让我们看一下示例。
fun main(args: Array<
String>
){var intList: List<
Int>
= listOf<
Int>
(1, 2, 3)var stringList: List<
String>
= listOf<
String>
("Ajay", "Vijay", "Prakash")var anyList: List<
Any>
= listOf<
Any>
(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 list123print string listAjayVijayPrakashprint any list123AjayVijayPrakash
Kotlin清单示例4
让我们看看使用listOf < T> ()函数使用Kotlin列表接口的不同功能。
fun main(args: Array<
String>
){var stringList: List<
String>
= listOf<
String>
("Ajay", "Vijay", "Prakash", "Vijay", "Rohan")var list: List<
String>
= listOf<
String>
("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 Ajay135truetrue[Prakash, Vijay]false[Vijay, Prakash, Vijay, Rohan][Ajay, Vijay, Prakash]
List接口的局限性在于它是不可变的。声明后不能在列表中添加更多元素。为了解决此限制, Collection框架提供了可变列表。
推荐阅读
- Kotlin map接口
- Kotlin Lambda函数
- Android Studio安装详细步骤
- Kotlin接口
- Kotlin整数类型范围
- Kotlin内联函数
- Kotlin Hello World应用程序
- Kotlin继承
- Kotlin if表达式