博客
关于我
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-触发器及创建触发器失败原因
查看>>
MySQL-连接
查看>>
mysql-递归查询(二)
查看>>
MySQL5.1安装
查看>>
mysql5.5和5.6版本间的坑
查看>>
mysql5.5最简安装教程
查看>>
mysql5.6 TIME,DATETIME,TIMESTAMP
查看>>
mysql5.6.21重置数据库的root密码
查看>>
Mysql5.6主从复制-基于binlog
查看>>
MySQL5.6忘记root密码(win平台)
查看>>
MySQL5.6的Linux安装shell脚本之二进制安装(一)
查看>>
MySQL5.6的zip包安装教程
查看>>
mysql5.7 for windows_MySQL 5.7 for Windows 解压缩版配置安装
查看>>
Webpack 基本环境搭建
查看>>
mysql5.7 安装版 表不能输入汉字解决方案
查看>>
MySQL5.7.18主从复制搭建(一主一从)
查看>>
MySQL5.7.19-win64安装启动
查看>>
mysql5.7.19安装图解_mysql5.7.19 winx64解压缩版安装配置教程
查看>>
MySQL5.7.37windows解压版的安装使用
查看>>