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

Kotlin 基于指定列表过滤嵌套列表集合的实现方法

Kotlin 航段经停数过滤实现

相关数据类定义

航段查询类

data class FlightRecommendationQuery(
 val segments: List<Segment>
)

data class Segment(
 val stops: Int?
)

过滤条件类

data class Filter(
 val stops: Int?
)

过滤规则

  • 过滤条件列表filter的长度,与每个FlightRecommendationQuery实例的segments字段长度完全一致
  • 仅保留符合以下要求的原列表项:过滤列表每个位置的stops值与对应位置segments的stops值相等,若过滤条件对应位置stops为null则自动满足该位置的校验

实现代码

你原本的实现逻辑完全正确:

list.filter { query ->
    filter.indices.all {
        if (filter[it].stops == null) true
        else filter[it].stops == query.segments[it].stops
    }
}

也可以简化为更简洁的逻辑或写法,执行逻辑完全等价:

list.filter { query ->
    filter.indices.all {
        filter[it].stops == null || filter[it].stops == query.segments[it].stops
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 18:24:09