【发布时间】:2018-01-03 09:17:43
【问题描述】:
此问题与How do I copy a 2 Dimensional array in Java?有关
但是如何在 Java 8 / 9 中使用流复制数组?
这是我想出的:
static int[][] cloneArray(int[][] array) {
return IntStream.range(0, array.length).collect(
() -> new int[array.length][],
(ints, i) -> ints[i] = array[i].clone(),
(ints, i) -> {});
}
有没有更优雅或更高效的方式来使用流复制二维数组?
【问题讨论】:
-
为什么要装箱?这肯定会扼杀表演。
-
无法真正看出这是对各种非流方式的改进,除非您的目的是让您的代码更慢且更难阅读。
-
@Kayaman:是的,这很愚蠢。我已经更新了问题。
-
@khelwood;我已经删除了拳击。为什么性能这么慢?
-
我认为这里的问题是假设流会以某种方式提供更好或更快的方式。像数组复制这样的基本任务已经被有效地解决了,没有太大的优势。
标签: java arrays java-stream