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]

相关用法

相关推荐
遥不可及zzz6 分钟前
Android 应用程序包的 adb 命令
android·adb
无知的前端21 分钟前
Flutter 一文精通Isolate,使用场景以及示例
android·flutter·性能优化
_一条咸鱼_24 分钟前
Android Compose 入门之字符串与本地化深入剖析(五十三)
android
ModestCoder_1 小时前
将一个新的机器人模型导入最新版isaacLab进行训练(以unitree H1_2为例)
android·java·机器人
robin_suli2 小时前
Spring事务的传播机制
android·java·spring
鸿蒙布道师3 小时前
鸿蒙NEXT开发对象工具类(TS)
android·ios·华为·harmonyos·arkts·鸿蒙系统·huawei
Harrison_zhu4 小时前
Ubuntu18.04 编译 Android7.1代码报错
android
CYRUS STUDIO6 小时前
Unidbg Trace 反 OLLVM 控制流平坦化(fla)
android·汇编·算法·网络安全·逆向·ollvm
扫地的小何尚6 小时前
NVIDIA工业设施数字孪生中的机器人模拟
android·java·c++·链表·语言模型·机器人·gpu
顾林海8 小时前
深度解析ArrayList工作原理
android·java·面试