gpt4 book ai didi

java - Scala:如何在索引 FOR 循环中加倍条件?

转载 作者:行者123 更新时间:2023-11-29 03:00:15 24 4
gpt4 key购买 nike

我有一个 Java 代码:

int[] array = new int[100];

for (int k = 0; k < array.length * 2; k++) {
// some action
}

for 循环中,我想将数组长度加倍并将其用于迭代。但是我怎样才能在 Scala 中得到同样的东西呢?

我尝试使用 zipWithIndex,但它不允许双重条件:

arr.zipWithIndex.foreach {
case (el, idx) => {...}
}

最佳答案

要遍历索引,就像在原来的 for 循环中一样,您可以只使用一个范围:

scala> val array = List("a", "b", "c")
array: List[String] = List(a, b, c)

scala> (0 until array.length * 2).foreach(println(_))
0
1
2
3
4
5

要获取索引和元素元组,您可以在原始数组(两次)或两次数组上使用 zipWithIndex,具体取决于所需的结果:

scala> (array.zipWithIndex ++ array.zipWithIndex).foreach{
| case (x, i) => println(s"$i: $x")
| }
0: a
1: b
2: c
0: a
1: b
2: c

scala> (array ++ array).zipWithIndex.foreach{
| case (x, i) => println(s"$i: $x")
| }
0: a
1: b
2: c
3: a
4: b
5: c

关于java - Scala:如何在索引 FOR 循环中加倍条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35494194/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com