博客
关于我
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 Innodb 锁机制
查看>>
MySQL InnoDB中意向锁的作用及原理探
查看>>
MySQL InnoDB事务隔离级别与锁机制深入解析
查看>>
Mysql InnoDB存储引擎 —— 数据页
查看>>
Mysql InnoDB存储引擎中的checkpoint技术
查看>>
Mysql InnoDB存储引擎中缓冲池Buffer Pool、Redo Log、Bin Log、Undo Log、Channge Buffer
查看>>
MySQL InnoDB引擎的锁机制详解
查看>>
Mysql INNODB引擎行锁的3种算法 Record Lock Next-Key Lock Grap Lock
查看>>
mysql InnoDB数据存储引擎 的B+树索引原理
查看>>
mysql innodb通过使用mvcc来实现可重复读
查看>>
mysql insert update 同时执行_MySQL进阶三板斧(三)看清“触发器 (Trigger)”的真实面目...
查看>>
mysql interval显示条件值_MySQL INTERVAL关键字可以使用哪些不同的单位值?
查看>>
Mysql join原理
查看>>
MySQL Join算法与调优白皮书(二)
查看>>
Mysql order by与limit混用陷阱
查看>>
Mysql order by与limit混用陷阱
查看>>
mysql order by多个字段排序
查看>>
MySQL Order By实现原理分析和Filesort优化
查看>>
mysql problems
查看>>
mysql replace first,MySQL中处理各种重复的一些方法
查看>>