Kotlin dropLastWhile用法及代码示例

本文方法及代码示例基于Kotlin 2.1.20 Released

dropLastWhile 所在包 kotlin.collections.dropLastWhile,其相关用法介绍如下:

用法

kotlin 复制代码
inline fun <T> Array<out T>.dropLastWhile(
    predicate: (T) -> Boolean
): List<T>

inline fun ByteArray.dropLastWhile(
    predicate: (Byte) -> Boolean
): List<Byte>

inline fun ShortArray.dropLastWhile(
    predicate: (Short) -> Boolean
): List<Short>

inline fun IntArray.dropLastWhile(
    predicate: (Int) -> Boolean
): List<Int>

inline fun LongArray.dropLastWhile(
    predicate: (Long) -> Boolean
): List<Long>

inline fun FloatArray.dropLastWhile(
    predicate: (Float) -> Boolean
): List<Float>

inline fun DoubleArray.dropLastWhile(
    predicate: (Double) -> Boolean
): List<Double>

inline fun BooleanArray.dropLastWhile(
    predicate: (Boolean) -> Boolean
): List<Boolean>

inline fun CharArray.dropLastWhile(
    predicate: (Char) -> Boolean
): List<Char>

inline fun <T> List<T>.dropLastWhile(
    predicate: (T) -> Boolean
): List<T>

@ExperimentalUnsignedTypes inline fun UIntArray.dropLastWhile(
    predicate: (UInt) -> Boolean
): List<UInt>

@ExperimentalUnsignedTypes inline fun ULongArray.dropLastWhile(
    predicate: (ULong) -> Boolean
): List<ULong>

@ExperimentalUnsignedTypes inline fun UByteArray.dropLastWhile(
    predicate: (UByte) -> Boolean
): List<UByte>

@ExperimentalUnsignedTypes inline fun UShortArray.dropLastWhile(
    predicate: (UShort) -> Boolean
): List<UShort>

返回一个列表,其中包含除满足给定 predicate 的最后一个元素之外的所有元素。

代码例子

kotlin 复制代码
import kotlin.test.*

fun main(args: Array<String>) {
    //sampleStart
    val chars = ('a'..'z').toList()
    println(chars.drop(23)) // [x, y, z]
    println(chars.dropLast(23)) // [a, b, c]
    println(chars.dropWhile { it < 'x' }) // [x, y, z]
    println(chars.dropLastWhile { it > 'c' }) // [a, b, c]
    //sampleEnd
}

// 输出
[x, y, z]
[a, b, c]
[x, y, z]
[a, b, c]

相关用法

相关推荐
侠客行03171 小时前
Tomcat 从陌生到熟悉
java·tomcat·源码阅读
luanma1509801 小时前
Laravel 7.X核心特性深度解析
android·开发语言·php·lua·laravel
运维老曾1 小时前
Flink 1.20 使用自带jdbc source 操作步骤
android·adb·flink
陆业聪3 小时前
2026 年还在靠「感觉」调性能?Android Profiler 这样用才对
android·人工智能·性能优化
草莓熊Lotso4 小时前
MySQL 多表连接查询实战:内连接 + 外连接
android·运维·数据库·c++·mysql
草莓熊Lotso4 小时前
Linux 进程信号深度解析(下):信号的保存、阻塞与捕捉
android·linux·运维·服务器·数据库·c++·性能优化
小羊子说13 小时前
Android系统中 socketpair 的源码解读与应用分析小结
android·java
FL4m3Y4n14 小时前
MySQL索引原理与SQL优化
android·sql·mysql
我命由我1234515 小时前
Android Gradle - Gradle 自定义插件(Build Script 自定义插件、buildSrc 自定义插件、独立项目自定义插件)
android·java·java-ee·kotlin·android studio·android-studio·android runtime