博客
关于我
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/

你可能感兴趣的文章
Neo4j(1):图数据库Neo4j介绍
查看>>
Neo4j(2):环境搭建
查看>>
Neo4j(4):Neo4j - CQL使用
查看>>
NEO改进协议提案1(NEP-1)
查看>>
Neo私链
查看>>
NervanaGPU 项目使用教程
查看>>
Nerves 项目教程
查看>>
nessus快速安装使用指南(非常详细)零基础入门到精通,收藏这一篇就够了
查看>>
Nessus漏洞扫描教程之配置Nessus
查看>>
Nest.js 6.0.0 正式版发布,基于 TypeScript 的 Node.js 框架
查看>>
nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML.
查看>>
nestesd exception is java .lang.NoSuchMethodError:com.goolge.common.collect
查看>>
nestJS学习
查看>>
net core 环境部署的坑
查看>>
NET Framework安装失败的麻烦
查看>>
Net 应用程序如何在32位操作系统下申请超过2G的内存
查看>>
Net.Framework概述
查看>>
NET3.0+中使软件发出声音[整理篇]<转>
查看>>
net::err_aborted 错误码 404
查看>>
NetApp凭借领先的混合云数据与服务把握数字化转型机遇
查看>>