Java 以特定方式乘以2d数组的大小?

Java 以特定方式乘以2d数组的大小?,java,arrays,Java,Arrays,我环顾四周,但没有找到答案。用一个例子来解释是最容易的。假设我有一个2d数组,它有 {{1, 2, 3}, {4, 5, 6}} 我想做的是将2d数组的大小相乘,这样生成的数组中的每个元素重复x次(最好是32次)。最终结果示例: {{1, 1, 2, 2, 3, 3}, {1, 1, 2, 2, 3, 3}, {4, 4, 5, 5, 6, 6}, {4, 4, 5, 5, 6, 6}} 在这种情况下,原始值乘以2,因此每个值都是2乘以2的平方。有什么想法吗?假设您使用int: in

我环顾四周,但没有找到答案。用一个例子来解释是最容易的。假设我有一个2d数组,它有

{{1, 2, 3},
 {4, 5, 6}}
我想做的是将2d数组的大小相乘,这样生成的数组中的每个元素重复x次(最好是32次)。最终结果示例:

{{1, 1, 2, 2, 3, 3},
 {1, 1, 2, 2, 3, 3},
 {4, 4, 5, 5, 6, 6},
 {4, 4, 5, 5, 6, 6}}
在这种情况下,原始值乘以2,因此每个值都是2乘以2的平方。有什么想法吗?

假设您使用int:

int x = //...
int[][] input = //...
int[][] result = new int[input.length * x][];
final int size = input[0].length;

for (int i = 0; i < input.length; i++) {
    int[] inputArray = input[i];
    int[] array = new int[size * x];
    final int offset = i * x;

    result[offset] = array;

    // fill first of the equal lines
    for (int j = 0; j < size; j++) {
        final int offset2 = j * x;
        // copy every element x times
        Arrays.fill(array, offset2, offset2 + x, inputArray[j]);
    }

    // copy line x-1 times
    for (int j = 1; j < x; j++) {
        // if you needn't write to the result, use array as right hand side instead
        result[offset + j] = Arrays.copyOf(array, array.length);
    }
}
int x=/。。。
int[][]输入=/。。。
int[][]结果=新int[input.length*x][];
最终整数大小=输入[0]。长度;
for(int i=0;i
在我看来,这确实像是一个矩阵乘法技巧。您是在寻找一种特定语言的实现吗?有些语言可能有一些有用的工具。我知道我忘了带标签。Java,对不起!