【发布时间】:2014-12-07 14:30:08
【问题描述】:
假设我有一个像
这样的 4x4 数组矩阵aaaa
abba
abba
aaaa
我可以从上面的矩阵中获得一个 3x3 矩阵并将其存储在另一个二维数组中吗? 3x3 矩阵应包含元素
aaa
abb
abb
同样
aaa
bba
bba
还有另外两个矩阵。
这可以使用 Arrays.copyOfRange 来完成吗??
编辑:我还想要其他 2 个 3x3 矩阵,即。
abb
abb
aaa
和
bba
bba
aaa
就像我传递 2x2 矩阵中的元素一样,即 4x4 中的元素。 b's ,它应该给我一个围绕元素的 3x3 矩阵。
我可以通过使用一个 for 循环来实现这点b(上面给出)。但只是想知道是否有更简单的方法。
【问题讨论】:
-
也许您可以先 (a) 阅读文档:docs.oracle.com/javase/7/docs/api/java/util/…,(b) 试一试。如果这对您不起作用,请发布您针对特定问题尝试过的代码。
-
是的,我看到了文档。但是我可以发现 copyofrange 可以从一维数组中获取数据。我想知道它如何用于二维数组。我可以使用 4x4 矩阵中的中心 2x2 并获取围绕 2x2 的每个元素的元素,以使用 for 循环获得所需的 3x3 数组。只是想知道是否有简单的方法。
-
如果您添加了更多关于您将如何处理这些子阵列的信息,可能会给出进一步的提示。例如,您可能会考虑一个
interface Array2D { ... },它有一个方法Array2D getSubArray(...),它只返回子数组上的一个view。这里有很多解决方案,有些可能比复制更优雅,具体取决于应用案例。
标签: java arrays matrix dimensional