美文网首页Android开发Android开发经验谈
Kotlin学习笔记(十三)函数操作符(元素操作符)

Kotlin学习笔记(十三)函数操作符(元素操作符)

作者: 大虾啊啊啊 | 来源:发表于2020-10-26 08:26 被阅读0次

    1.contains

    是否包含某个元素

    package com.example.kotlin01
    
    val list = listOf(1, 2, 3,null)
    
    fun main() {
        val result = list.contains(1)
        println(result)
    }
    
    
    true
    

    2.elementAt

    获取指定下标的元素

    package com.example.kotlin01
    
    val list = listOf(4,1, 2, 3,null)
    
    fun main() {
        val result = list.elementAt(0)
        println(result)
    }
    
    
    4
    
    

    3.elementAtOrElse

    获取指定下标的元素,如果数组越界则返回默认值,默认值可以传一个lambda表达式

    package com.example.kotlin01
    
    val list = listOf(4, 1, 2, 3, null)
    
    fun main() {
        val result = list.elementAtOrElse(5, {
            it+2
        })
        println(result)
    }
    
    
    7
    

    4.elementAtOrNull

    获取指定下标的元素,如果数组越界则返回NULL

    package com.example.kotlin01
    
    val list = listOf(4, 1, 2, 3, null)
    
    fun main() {
        val result = list.elementAtOrNull(5)
        println(result)
    }
    
    
    null
    

    5.first

    返回第一个符合条件的元素,如果没有满足的,则抛出异常

    package com.example.kotlin01
    
    val list = listOf(4, 1, 2, 3)
    
    fun main() {
        val result = list.first{
            it>1
        }
        println(result)
    }
    
    4
    

    6.firstOrNull

    返回第一个符合条件的元素,如果没有满足的,则返回NULL

    package com.example.kotlin01
    
    val list = listOf(4, 1, 2, 3)
    
    fun main() {
        val result = list.firstOrNull{
            it>5
        }
        println(result)
    }
    
    
    null
    

    7.indexOf

    返回指定元素的下标,没有则返回-1

    package com.example.kotlin01
    
    val list = listOf(4, 1, 2, 3)
    
    fun main() {
        val result = list.indexOf(5)
        println(result)
    }
    
    -1
    

    8.indexOfFirst

    返回第一个符合条件元素的下标,没有则返回-1

    package com.example.kotlin01
    
    val list = listOf(4, 1, 2, 3)
    
    fun main() {
        val result = list.indexOfFirst{
            it>5
        }
        println(result)
    }
    
    
    -1
    

    9.indexOfLast

    返回最后一个符合条件元素的下标,没有则返回-1

    package com.example.kotlin01
    
    val list = listOf(4, 1, 2, 3)
    
    fun main() {
        val result = list.indexOfLast{
            it>1
        }
        println(result)
    }
    
    3
    

    10.last

    返回符合条件的最后第一个元素,没有则抛出异常

    package com.example.kotlin01
    val list = listOf(4, 1, 2, 3)
    fun main() {
        val result = list.last{
            it>1
        }
        println(result)
    }
    
    3
    

    11.lastOrNull

    返回符合条件的最后第一个元素,没有则返回NULL

    package com.example.kotlin01
    
    val list = listOf(4, 1, 2, 3)
    
    fun main() {
        val result = list.lastOrNull{
            it>8
        }
        println(result)
    }
    
    
    null
    

    12.lastIndexOf

    返回指定元素的最后一个下标,没有则返回-1

    package com.example.kotlin01
    
    val list = listOf(4, 1, 2, 3,3)
    
    fun main() {
        val result = list.lastIndexOf(3)
        println(result)
    }
    
    4
    

    13.single

    返回符合条件的单个元素,超过一个元素则抛出异常

    package com.example.kotlin01
    
    val list = listOf(4, 1, 2, 3,3)
    
    fun main() {
        val result = list.single{
            it>3
        }
        println(result)
    }
    
    
    4
    
    package com.example.kotlin01
    
    val list = listOf(4, 1, 2, 3,3)
    
    fun main() {
        val result = list.single{
            it==3
        }
        println(result)
    }
    
    
    Exception in thread "main" java.lang.IllegalArgumentException: Collection contains more than one matching element.
        at com.example.kotlin01.OperatorKt.main(Operator.kt:18)
        at com.example.kotlin01.OperatorKt.main(Operator.kt)
    
    

    14.singleOrNull

    返回符合条件的单个元素,超过一个元素则返回null

    package com.example.kotlin01
    
    val list = listOf(4, 1, 2, 3,3)
    
    fun main() {
        val result = list.singleOrNull{
            it==3
        }
        println(result)
    }
    
    
    
    null
    

    相关文章

      网友评论

        本文标题:Kotlin学习笔记(十三)函数操作符(元素操作符)

        本文链接:https://www.haomeiwen.com/subject/vgjvmktx.html