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

Kotlin中如何将mutableListOf<MutableList<Pair<Int,Int>>>转为静态二维数组

将二维MutableList转换为二维Array的高效方案

不用手动写遍历循环,Kotlin标准库已经提供了简洁且高效的方法,直接利用map和toTypedArray()就能完成转换:

示例代码

首先定义你的二维MutableList:

val mutableList2D: MutableList<MutableList<Pair<Int, Int>>> = mutableListOf(
    mutableListOf(1 to 2, 3 to 4),
    mutableListOf(5 to 6, 7 to 8)
)

转换为二维Array的一行代码:

val array2D: Array<Array<Pair<Int, Int>>> = mutableList2D.map { innerList ->
    innerList.toTypedArray()
}.toTypedArray()

原理说明

  • 内层的innerList.toTypedArray():把每个MutableList<Pair<Int, Int>>直接转换成对应的Array<Pair<Int, Int>>,这是标准库针对集合转数组的优化方法。
  • 外层的toTypedArray():将经过map转换后的List<Array<Pair<Int, Int>>>转换成最终的Array<Array<Pair<Int, Int>>>。

效率对比

这种方法和手动遍历的时间复杂度都是O(n)(n是所有元素的总数),但标准库的实现是经过优化的底层代码,不仅代码更简洁易读,还能避免手动循环可能出现的错误,实际运行效率和手动遍历持平甚至更优。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 01:27:05