Kotlin列表接口

本文概述

  • 列表接口声明
  • 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
【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框架提供了可变列表。

    推荐阅读