黄岩建设局台州网站建设,智慧教育,国外网站建设方案,网站转换模块怎么做kotlin 中
first 是取集合元素中第一个元素
last 是取集合元素中最后一个元素
indexOf 根据元素寻找下标#xff0c;默认是第一个
elementAt 根据下标找元素
下面写一个demo 说明下他们几个的使用 val list listOf(A, D, A, …kotlin 中
first 是取集合元素中第一个元素
last 是取集合元素中最后一个元素
indexOf 根据元素寻找下标默认是第一个
elementAt 根据下标找元素
下面写一个demo 说明下他们几个的使用 val list listOf(A, D, A, B, E, C, D, C, E, F)//打印集合中的第一个元素Log.d(first, list.first().toString()) //打印结果是A//符合条件的第一个元素,根据谓词匹配Log.d(first{}, list.first { it D})//打印结果是D//打印集合中的最后一个元素Log.d(last, list.last().toString()) //打印结果是F//符合条件的最后一个元素,根据谓词匹配Log.d(last{}, list.last { it D})//打印结果是D//根据元素寻找下标默认是第一个Log.d(indexOf, list.indexOf(D).toString()) //打印结果是1//集合中元素第一个是D的下标Log.d(indexOfFirst, list.indexOfFirst { it D }.toString())//打印结果是1//集合中元素最后一个是D的下标Log.d(indexOfLast, list.indexOfLast { it D }.toString())//打印结果是6//根据下标找元素Log.d(last, list.elementAt(3).toString()) //打印结果是B
上面的根据谓词匹配的demo 不明显下面重新写一个如下 val numbers listOf(one, two, three, four, five)Log.d(first, numbers.first { it.length 3 }) //打印结果threeLog.d(last, numbers.last { it.length 3 }) //打印结果five
有时候判断条件集合中没有的时候就会报错如下
val numbers listOf(one, two, three, four, five) Log.d(first, numbers.first { it.length 6 }) //报错 java.util.NoSuchElementException
这个时候可以使用
firstOrNull 判断条件符合返回元素如果不符合返回null 这样就不会报错了
lastOrNull 判断条件符合返回元素如果不符合返回null 这样就不会报错了 Log.d(first, numbers.firstOrNull { it.length6 }.toString()) //打印结果nullLog.d(last, numbers.lastOrNull { it.length6 }.toString()) //打印结果null
elementAt 也有这种情况当给出的下标集合中不存在的时候也是会报错的比如
例如下面的就会报错
val numbers listOf(one, two, three, four, five) Log.d(first, numbers.elementAt(8)) //报错
这种时候可以使用elementAtOrNull
elementAtOrNull的作用判断条件符合返回元素不符合返回null val numbers listOf(one, two, three, four, five)Log.d(first, numbers.elementAtOrNull(8).toString())
还有一个elementAtOrElse 还接受一个 lambda 表达式该表达式能将一个 Int 参数映射为一个集合元素类型的实例。 当使用一个越界位置来调用时elementAtOrElse() 返回对给定值调用该 lambda 表达式的结果。 val numbers listOf(one, two, three, four, five)Log.d(first, numbers.elementAtOrElse(5) { index - The value for index $index is undefined})
打印结果The value for index 5 is undefined