kotlin: dropWhile/dropLastWhile函数

一,功能

dropWhile操作符: 从集合的第一项开始去掉满足条件元素,这样操作一直持续到出现第一个不满足条件元素出现为止
                        返回剩余元素(可能剩余元素有满足条件的元素)

dropLastWhile操作符: 从集合的最后一项开始去掉满足条件元素这样操作一直持续到出现第一个不满足条件元素出现为止
                               返回剩余元素(可能剩余元素有满足条件的元素)

二,例子:

代码:

        //处理按钮点击事件
        binding.button1.setOnClickListener {
            //sampleStart
            val string = "<<<First Grade>>>"
            val res1 = string.dropWhile { !it.isLetter() }
            println("从头开始删除非字符后: $res1") // First Grade>>>
            val res2 = string.dropLastWhile { !it.isLetter() }
            println("从尾开始删除非字符后: $res2") // <<<First Grade
        }

运行结果:

image

三,例子:

代码:

        //处理按钮点击事件
        binding.button2.setOnClickListener {
            val strList = listOf("java", "javaScript", "kotlin", "C", "C++", "javaFx","python", "Swift", "Go", "Scala")
            println("从头开始删除java打头的字串后:")
            strList.dropWhile { it.startsWith("java") }.forEach { println("$it  ") }
            println("从尾开始删除S打头的字串后:")
            strList.dropLastWhile { it.startsWith("S") }.forEach { println("$it  ") }
        }

运行结果:

image

四,例子:

代码:

        //处理按钮点击事件
        binding.button3.setOnClickListener {
            //从头开始找不满足的开始取值,满足的抛弃
            val mList = mutableListOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
            println("原列表:$mList")

            val resultList = mList.dropWhile { it <= 1 }
            println("从头删除<=1的值后:$resultList")

            val resultList2 = mList.dropLastWhile { it <= 1 }
            println("从尾删除<=1的值后:$resultList2")
        }

运行结果:

image

 

posted @ 2025-08-16 10:14  刘宏缔的架构森林  阅读(15)  评论(0)    收藏  举报