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]

相关用法

相关推荐
北京自在科技6 小时前
谷歌安卓 Gemini 迎来界面改版,Find Hub 接入 Gemini 支持物品记忆查找
android·安卓
YB13758 小时前
Jetpack Compose 动画Modifier.animateItem()
android
2401_885885049 小时前
巴林语音通知接口如何对接?系统告警语音API接入教程
android·前端·网络·python·语音识别
收纳过往9 小时前
数据库加索引的时机:慢查询日志说话
android·开发语言·数据库·python·低代码·rxjava
狂热开发者10 小时前
车载中控要给鸿蒙用户,能不能和 Android 共用一个二维码?
android·华为·harmonyos
.Bryce.11 小时前
T2-LLM评测不等于Agent评测
android·java·人工智能·后端·gpt·agent·1024程序员节
美狐美颜SDK开放平台12 小时前
视频美颜SDK如何应对快速转头与大幅度面部动作?
android·人工智能·ios·音视频·直播美颜sdk·视频美颜sdk
2601_9689007712 小时前
玻璃深加工的工艺窗口:4 道工序的温度与时间参数边界
android·java·javascript
好的佩奇0112 小时前
Dart 之类修饰符
android·flutter·dart
YB137512 小时前
Jetpack Compose 动画Modifier.animateContentSize()
android