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

Kotlin中如何过滤排序字典(Map)并提取指定字段列表

Kotlin 列表过滤排序实现方案

你提供的待处理数据为List<Map<String, Any>>类型(元素为字典的列表),按需求分三步处理即可:

  • 过滤:筛选shouldShow字段值为true的条目
  • 排序:对过滤结果按displayOrder字段值做降序排列
  • 提取:从排序后的条目中取出state字段,组装为字符串列表

可直接运行的实现代码如下:

fun main() {
    // 原始待处理数据
    val rawList = listOf(
        mapOf("shouldShow" to true, "displayOrder" to 2, "state" to "Alaska"),
        mapOf("shouldShow" to false, "displayOrder" to 3, "state" to "Texas"),
        mapOf("shouldShow" to true, "displayOrder" to 1, "state" to "Arizona")
    )

    val stateList = rawList
        .filter { it["shouldShow"] == true }
        .sortedByDescending { it["displayOrder"] as Int }
        .map { it["state"] as String }

    // 输出结果:[Alaska, Arizona]
    println(stateList)
}

注意:如果业务中字段可能存在空值,将强制类型转换as替换为安全转换as?搭配空值兜底即可,避免出现类型转换异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 11:06:22