本文概述
Kotlin List是一个接口和元素的通用集合。 List接口继承了Collection <T>类的形式。它是不可变的, 其方法仅支持读取功能。
要使用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清单示例1
让我们来看一个使用listOf()函数的列表示例。
fun main(args: Array<String>){
var list = listOf("Ajay", "Vijay", "Prakash")//read only, fix-size
for(element in list){
println(element)
}
输出:
Ajay
Vijay
Prakash
Kotlin清单示例2
在listOf()函数中, 我们可以同时传递不同类型的数据。列表也可以使用索引范围遍历列表。
fun main(args: Array<String>){
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
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 list
1
2
3
print string list
Ajay
Vijay
Prakash
print any list
1
2
3
Ajay
Vijay
Prakash
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
Ajay
1
3
5
true
true
[Prakash, Vijay]
false
[Vijay, Prakash, Vijay, Rohan]
[Ajay, Vijay, Prakash]
List接口的局限性在于它是不可变的。声明后不能在列表中添加更多元素。为了解决此限制, Collection框架提供了可变列表。
评论前必须登录!
注册