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

Kotlin如何基于Int数组过滤带有strength属性的Drink对象集合

实现方法

你只需要在filter的判断逻辑中,校验当前Drink的strength属性是否属于你从SharedPreferences读取到的筛选Int集合即可,Kotlin可以直接用in关键字简化判断:

// 该变量替换为你实际从SharedPreferences读取到的筛选值数组
val filteredStrengthArray = arrayListOf<Int>(2,3)

val filteredDrinks = DrinkData.generateAllDrinks().sortedWith(
    compareBy<Drink> { it.theDrinkName.first().isDigit() }
        .thenBy { it.theDrinkName.lowercase() } // toLowerCase已在高版本Kotlin中废弃,推荐用lowercase替代
).filter { 
    // 仅保留strength在筛选数组中的数据
    it.strength in filteredStrengthArray
}

上述代码运行后得到的filteredDrinks就是符合筛选条件的结果,和你示例要求的rum、151、99三个对象完全匹配。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 02:36:03