簡體   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