繁体   English   中英

Kotlin:初始化二维数组

[英]Kotlin: initialize 2D array

我在一个循环中,从一个文件中读取 2 列。 我读了 R,T 组合,50 遍。 我希望 R 和 T 在一个数组中,这样我就可以在 function 中查找第 N 对 R, T。 如何将 R、T 对放在一个数组中,然后在 function 中查找例如第 25 个条目?

例如:

for (nsection in 1 until NS+1) {
  val list: List<String> = lines[nsection + 1].trim().split("\\s+".toRegex())
  val radius = list[0].toFloat()
  println("Radius = $radius")
  val twist = list[8].toFloat()
  println("twist = $twist")
  }

想稍后从 function 中的表中拉出半径和双绞线。 到目前为止,NS 上升到 50。

您可以在范围迭代器上使用map()来生成您想要的列表。

val radiusTwistPairs: List<Pair<Float, Float>> = (1..NS).map { nsection ->
    val list = lines[nsection + 1].trim().split("\\s+".toRegex())
    val radius = list[0].toFloat()
    println("Radius = $radius")
    val twist = list[8].toFloat()
    println("twist = $twist")
    radius to twist
}

或者使用 Array 构造函数:

val radiusTwistPairs: Array<Pair<Float, Float>> = Array(NS) { i ->
    val list = lines[i + 2].trim().split("\\s+".toRegex())
    val radius = list[0].toFloat()
    println("Radius = $radius")
    val twist = list[8].toFloat()
    println("twist = $twist")
    radius to twist
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM