Kotlin-数组与集合-List
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin-数组与集合-List相关的知识,希望对你有一定的参考价值。
参考技术AKotlin 的 List 分为 可变的 和 不可变的 两种
List 中的很多方法均与 Set 中一致,故本篇文章不做过多说明。
传送门: Kotlin-数组与集合-Set
Kotlin集合操作 ① ( List 创建与元素获取 | 安全获取集合元素 | getOrElse | getOrNull )
文章目录
一、List 创建与元素获取
Kotlin 中的集合分为两类 , 只读集合 和 可变集合 ;
调用 listOf
函数 , 可以 直接创建 List 集合 ;
通过 []
下标可以 直接获取 List 集合中的元素 ;
fun main()
val list = listOf("Tom", "Jerry")
println("$list[0]")
上述代码执行结果 :
Tom
二、安全获取集合元素
除了使用 []
下标获取 List 集合元素外 , Kotlin 还提供了 安全获取集合元素的 方法 : getOrElse 和 getOrNull 函数 ;
1、getOrElse 函数
List<T>.getOrElse(index: Int, defaultValue: (Int) -> T): T 函数原型 :
/**
* 返回给定[index]处的元素,如果[index]不在列表范围内,则返回调用[defaultValue]函数的结果。
*/
@kotlin.internal.InlineOnly
public inline fun <T> List<T>.getOrElse(index: Int, defaultValue: (Int) -> T): T
return if (index >= 0 && index <= lastIndex) get(index) else defaultValue(index)
参数分析 : 在该函数中 , 传入了两个参数 , 第一个参数是元素的索引 , 第二个参数是一个 Lambda 表达式 ; 该 Lambda 表达式的 Int 类型参数就是 index: Int
参数 ;
返回值分析 : 返回给定[index]处的元素,如果[index]不在列表范围内,则 返回调用[defaultValue]函数的结果。
2、getOrNull函数
List<T>.getOrNull(index: Int): T? 函数原型 :
/**
* 返回给定[index]处的元素,如果[index]不在列表范围内,则返回' null '。
*/
public fun <T> List<T>.getOrNull(index: Int): T?
return if (index >= 0 && index <= lastIndex) get(index) else null
参数分析 : 在该函数中 , 传入函数索引参数 ;
返回值分析 : 返回给定[index]处的元素,如果[index]不在列表范围内,则返回’ null '。
三、List 创建与元素获取代码示例
代码示例 :
fun main()
var list = listOf("Tom", "Jerry")
println("$list[0]")
println(list.getOrElse(2, "UnKnown"))
println(list.getOrNull(3))
执行结果 :
Tom
UnKnown
null
以上是关于Kotlin-数组与集合-List的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin集合操作 ④ ( Set 集合 | 可变 Set 集合 | List 与 Set 之间相互转换 | 数组类型 )
Kotlin集合操作 ④ ( Set 集合 | 可变 Set 集合 | List 与 Set 之间相互转换 | 数组类型 )