Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Scala/Java中的索引从另一个数组分配数组元素?_Java_Python_Arrays_Scala - Fatal编程技术网

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

如何使用Scala/Java中的索引从另一个数组分配数组元素?,java,python,arrays,scala,Java,Python,Arrays,Scala,我想在Scala中将一个数组的一部分分配给另一个数组的一部分。例如,我想做下面Python代码的Scala或Java等价物 x[i:j] = y[k:l] 如何在Scala甚至Java中做到这一点?您可以使用.patch和.slice的组合: 其参数包括: python示例中从i开始的元素 要插入y[k:l]的数组,此处使用.slice从k到l进行选择 数组中要替换的元素数不清楚当i:j小于k:l时,在示例中会发生什么,但我猜这里应该是j-i 这会和System.arraycopy一样高效吗?

我想在Scala中将一个数组的一部分分配给另一个数组的一部分。例如,我想做下面Python代码的Scala或Java等价物

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

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

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

其参数包括:

python示例中从i开始的元素 要插入y[k:l]的数组,此处使用.slice从k到l进行选择

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


这会和System.arraycopy一样高效吗?第一个索引不是0,所以19是第一个数组中的第18个索引?假设不是所有Scala程序员都知道python。你的描述要更具体一些。您可能还需要删除python标记。这不是python的问题。
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)