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

Android Studio中如何将等长双列表按索引合并为键值对列表

解决方案

你需要用zip操作符来实现这个需求,它专门用于将两个集合按索引一一配对,完全匹配你的场景,不需要使用filter或flatMap(这两个分别用于过滤和扁平化集合,不适合当前需求)。

代码实现

首先解构你的Pair对象,将float数组转为List后,用zip配对再转成你需要的列表格式:

val (stringList, floatArray) = distanceResults
// 生成包含 [String, Float] 列表的最终集合
val finalList = stringList.zip(floatArray.toList()) { str, floatVal ->
    listOf(str, floatVal)
}

或者更简洁的写法:

val finalList = distanceResults.first.zip(distanceResults.second.toList())
    .map { (str, floatVal) -> listOf(str, floatVal) }

补充说明

  • 如果你的需求只是保留配对关系,不需要转成List<List<Any>>,可以直接用zip得到List<Pair<String, Float>>,省去后续的map步骤:
    val pairedList = distanceResults.first.zip(distanceResults.second.toList())
    
  • 因为floatArray是数组类型,需要调用toList()转为List才能和MutableList<String>进行zip操作,Kotlin的zip操作符要求两个操作数都是Iterable类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 07:15:44