制作二维数组 Java

Making 2d Array Java

假设我有一个像

这样的一维数组
int[] array1d = {1,2,3}

我想将其转换为 2D array2d[3][2],其中包含 2 个不同的 int。例如:

1  2
1  3
2  3

目前我做了这个

int[] array1d = new int[3];
        array1d[0] = 1;
        array1d[1] = 2;
        array1d[2] = 3;

int[][] array2d = new int[3][2];

for (int i=0; i<3; i++) {
            for (int j=0; j<2; j++) {
                array2d[i][j] = array1d[j];
            }
        }

但它只给我 1,2

一般来说,您想要的是 combinations(在您的示例中,大小为 2,取自 3 大小的数组)。因此,顺序无关紧要(例如 [1, 2] 等于 [2, 1])。

如评论中所述,您应该考虑更通用的解决方案,并且可以找到 here。除了实际代码,您还可以找到来自 Codereview 社区的代码评论。

我使用随机 numbers.try 这个代码

` 导入 java.util.Random;

     public final class RandomInteger {

   public static void main(String... aArgs){

    Random randomGenerator = new Random();  
    int[] array1d = new int[3];
    array1d[0] = 1;
    array1d[1] = 2;
    array1d[2] = 3;
    int[] array2d = new int[3][2];
    int randomInt;
    for (int i=0; i<3; i++) {
          for (int j=0; j<2; j++) {
              randomInt = randomGenerator.nextInt(3);
              array2d[i][j] = array1d[randomInt];
                                   }
                            }

                                              }
                                    }    

`