个性化阅读
专注于IT技术分析

Kotlin列表接口

本文概述

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框架提供了可变列表。

赞(0)
未经允许不得转载:srcmini » Kotlin列表接口

评论 抢沙发

评论前必须登录!