You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin实现嵌套列表匹配元素时删除列表首项的高效方法

Kotlin 大分类列表首项校验删除实现

对应数据结构定义

data class Categories(
    val id: String?,
    val title: String,
    val subTopic: List<SubTopic>?
)

data class SubTopic(
    val id: String?,
    val title: String,
    var priceId: String?
)

核心实现代码

操作可变分类列表val categoryList: MutableList<Categories>时,直接使用以下逻辑即可:

if (categoryList.isNotEmpty()) {
    val needRemoveFirst = categoryList.first().subTopic
        ?.any { it.title == "vivek" }
        ?: false
    if (needRemoveFirst) {
        categoryList.removeAt(index = 0)
    }
}

实现特性说明

  • 性能最优:全程仅访问列表第0位元素,完全不遍历外层列表的其他项,适配大列表场景;嵌套列表判断使用any()短路逻辑,找到第一个title为"vivek"的SubTopic元素就立刻终止遍历,不会遍历整个subTopic列表
  • 边界覆盖:自动处理列表为空、首项subTopic为null的异常场景,不会触发索引越界、空指针错误
  • 逻辑符合预期:匹配命中后直接移除整个首项Categories对象,后续元素自动前移,不会出现仅清空subTopic子列表的错误
  • 符合Kotlin惯用法:基于Kotlin空安全操作符、内置集合高阶函数实现,无冗余的手写循环、多层嵌套判空代码,可读性强

内容的提问来源于stack exchange,提问作者Compose Learner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 14:36:27