java - 如何使用 Scala/Java 中的索引从另一个数组分配一个数组的元素?

标签 java python arrays scala

我想在 Scala 中将一个数组的一部分分配给另一个数组的一部分。例如,我想要执行以下 Python 代码的 Scala 或 Java 等效操作。

x[i:j] = y[k:l]

如何在 Scala 甚至 Java 中做到这一点?

最佳答案

您可以使用 .patch.slice 的组合:

scala> val a = Array.range(1, 20)
a: Array[Int] = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)

scala> val b = Array.range(30, 50)
b: Array[Int] = Array(30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49)

scala> a.patch(5, b.slice(5, 10), 5)
res5: Array[Int] = Array(1, 2, 3, 4, 5, 35, 36, 37, 38, 39, 11, 12, 13, 14, 15, 16, 17, 18, 19)

.slice的参数是:

  • 起始元素(Python 示例中的 i)
  • 要插入的数组 (y[k:l],此处使用 .slicekl)

  • 数组中要替换的元素数量(不清楚当 i:j 小于 k:l 时,示例中会发生什么,但我我猜这里应该是j-i)

关于java - 如何使用 Scala/Java 中的索引从另一个数组分配一个数组的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42008459/

相关文章:

java - 我如何知道某些设备已与我的电脑连接?

python - virtualenv python - 将 Pydev 与 Eclipse neon 结合使用

python - 自动将 Json 数据添加到 Django 模型中,且仅一次

python - 为函数中的多个全局变量赋值的更简单方法

c++ - 将整数放入数组 C++

java - 从 rss feed 中提取图像

java - PDFBox 提取的文本不包含国际(非英语)字符

java - 任务 :app:compileDebugJavaWithJavac in Android Studio java 执行失败

javascript - 数组类型错误

php - 是否有任何 PHP 函数可以通过不区分大小写的比较来解决另一个数组值字符串中的数组值匹配?