博客
关于我
kotlin 集合 : indexOf / elementAt/ / first / last
阅读量:210 次
发布时间:2019-02-28

本文共 2117 字,大约阅读时间需要 7 分钟。

找元素

indexOf : 元素 找 下标

/** * 元素 找 下标 */private fun indexOf() {       val mList = listOf(1, 2, 3, 4, 2)    //返回指定元素的下标,没有就返回-1    println(mList.indexOf(3))//2    println(mList.indexOf(0))//-1    //返回第一个符合条件的元素的下标,没有就返回-1 。    println(mList.indexOfFirst {    it == 2 })//1    //返回最后一个符合条件的元素下标,没有就返回-1 。    println(mList.indexOfLast {    it == 2 })//4}

elementAt : 下标 找 元素

/** * 下标 找 元素 */private fun elementAt() {       val mList: MutableList
= mutableListOf("a", "b", "c", "d", "e", "f", "g") //查找下标对应的元素,如果下标越界会抛IndexOutOfBoundsException。 println("下标为5的元素值:${ mList.elementAt(5)}") //下标为5的元素值:f //查找下标对应元素,如果越界会根据方法返回默认值。 println(mList.elementAtOrElse(5) { "default value" }) //f println(mList.elementAtOrElse(10) { "default value" }) //default value //查找下标对应元素,如果越界就返回null println(mList.elementAtOrNull(10)) //null}

获取元素

first :

/** * 获取第一个元素 */private fun first() {       val mList1 = mutableListOf(0, 1, 2, 3, 4, 5)    //返回集合第1个元素,    // 如果是空集,抛出异常java.util.NoSuchElementException: List is empty.。    println(mList1.first())//0    val mList2 = listOf
() //返回集合第1个元素,如果是空集, 对空指针异常处理的函数,如果集合为空,则返回null。 println(mList2.firstOrNull())//null val mList3 = listOf(1, 2, 3) //返回符合条件的第一个元素,没有则抛异常NoSuchElementException 。 println(mList3.first { it % 2 == 0 })//2 val mList4 = listOf(1, 2, 3) //对应的有针对异常处理的函数firstOrNull(predicate: (T) -> Boolean): T? , // 返回符合条件的第一个元素,没有就返回null println(mList4.first { it % 2 == 0 })//2}

last :

/** * 获取最后一个元素 */private fun last() {       val mList1 = mutableListOf(0, 1, 2, 3, 4, 5)    // 如果是空集,抛出异常java.util.NoSuchElementException: List is empty.。    println(mList1.last())//5    val mList2 = listOf
() //如果是空集, 对空指针异常处理的函数,如果集合为空,则返回null。 println(mList2.lastOrNull())//null val mList3 = listOf(1, 2, 3) //返回符合条件的最后一个元素,没有则抛异常NoSuchElementException 。 println(mList3.last { it % 2 == 0 })//2 val mList4 = listOf(1, 2, 3) //对应的有针对异常处理的函数firstOrNull(predicate: (T) -> Boolean): T? , // 返回符合条件的最后一个元素,没有就返回null println(mList4.lastOrNull { it % 2 == 0 })//2}

转载地址:http://bzss.baihongyu.com/

你可能感兴趣的文章
MySQL通用优化手册
查看>>
Mysql通过data文件恢复
查看>>
MYSQL遇到Deadlock found when trying to get lock,解决方案
查看>>
MYSQL遇到Deadlock found when trying to get lock,解决方案
查看>>
mysql部署错误
查看>>
MySQL配置信息解读(my.cnf)
查看>>
Mysql配置文件my.ini详解
查看>>
MySQL配置文件深度解析:10个关键参数及优化技巧---强烈要求的福利来咯。
查看>>
Mysql配置表名忽略大小写(SpringBoot连接表时提示不存在,实际是存在的)
查看>>
mysql配置读写分离并在若依框架使用读写分离
查看>>
MySQL里为什么会建议不要使用SELECT *?
查看>>
MySQL里的那些日志们
查看>>
MySQL锁
查看>>
MySQL锁与脏读、不可重复读、幻读详解
查看>>
MySQL锁机制
查看>>
mysql锁机制,主从复制
查看>>
Mysql锁机制,行锁表锁
查看>>
MySQL锁表问题排查
查看>>
Mysql锁(2):表级锁
查看>>
MySQL锁,锁的到底是什么?
查看>>