Kotlin List
是一個介面和通用的元素集合。 List
介面繼承了Collection <T>
類的形式。 它是不可變的,它的方法只支持讀取功能。
要使用List
介面,需要使用listOf()
和listOf <E>()
函數。
List
的元素按順序插入排序,包含與數組相同的索引號。
List介面聲明
public interface List<out E> : Collection<E> (source)
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()
函數的List
示例 -
fun main(args: Array<String>) {
var list = listOf("Ajax", "Vivi", "Praka")//read only, fix-size
for (element in list) {
println(element)
}
}
執行上面示例代碼,得到以下結果 -
Ajax
Vivi
Praka
Kotlin List示例2
在listOf()
函數中,可以同時傳遞不同類型的數據。 List
也可以使用索引範圍遍曆列表。
fun main(args: Array<String>){
var list = listOf(1,2,3,"Ajax","Vivi","Praka")//read only, fix-size
for(element in list){
println(element)
}
println("-------------- 使用範圍遍曆 -------------------- ")
for(index in 0..list.size-1){
println(list[index])
}
}
執行上面示例代碼,得到以下結果 -
1
2
3
Ajax
Vivi
Praka
-------------- 使用範圍遍曆 --------------------
1
2
3
Ajax
Vivi
Praka
Kotlin List示例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>("Ajax","Vivi","zaixian")
var anyList: List<Any> = listOf<Any>(1,2,3,"Ajax","Vivi","zaixian")
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
Ajax
Vivi
zaixian
--------------------------
print any list
1
2
3
Ajax
Vivi
zaixian
Kotlin List示例4
下麵來看看使用listOf <T>()
函數使用Kotlin List介面的其他函數。
fun main(args: Array<String>){
var stringList: List<String> = listOf<String>("Ajax","Vivi","Prakash","Vivi","Rohan")
var list: List<String> = listOf<String>("Ajax","Vivi","Prakash")
for(element in stringList){
print(element+" ")
}
println()
println(stringList.get(0))
println(stringList.indexOf("Vivi"))
println(stringList.lastIndexOf("Vivi"))
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))
}
執行上面示例代碼,得到以下結果 -
Ajax Vivi Prakash Vivi Rohan
Ajax
1
3
5
true
true
[Prakash, Vivi]
false
[Vivi, Prakash, Vivi, Rohan]
[Ajax, Vivi, Prakash]
List介面的限制是它是不可變的。 聲明後,它不能在列表中添加更多元素。為了解除這個限制,集合框架中提供了可變列表。
上一篇:
Kotlin集合
下一篇:
Kotlin MutableList介面