创建n个数组

ISJ*_*ISJ 1 java arrays sorting multidimensional-array

我想知道如果可能的话,创建一定数量的相同大小的数组.非常感谢帮助.例如:我想创建10个具有相同数量元素的数组,而不必逐个创建它们:int[] a = new int[].希望现在更清楚了.

我在其中一条评论中提出的一个问题是+ - "我如何为列的行/列排序数组行".我想通了 - 也许有人会发现它很有用.

int[] sortarr = new int[5]; //create array to transfer data from row to new array

for (int i=0; i<N; i++){
    for (int j=0; j<5; j++){
    sortarr[j] = hands[i][j]; //transfer the data from 2D array's row to sortarr
    }
    Arrays.sort(sortarr); //sort the row's data

    for (int x=0; x<5; x++){ 
    hands[i][x] = sortarr[x]; //transfer the data back to 2D array
    }

}
Run Code Online (Sandbox Code Playgroud)

也许这很明显,但我希望这会帮助那里的人.

jjn*_*guy 5

您需要创建一个2D数组.

int n;
int size;
int[][] arr = new int[size][n];
Run Code Online (Sandbox Code Playgroud)

您可以使用嵌套for循环填充数组;

for(int i =0;i < arr.length; i++) {
    for(int j = 0; i < arr[i].length; j++) {
        arr[i][j] = someValue;
    }
}
Run Code Online (Sandbox Code Playgroud)

或者您可以像这样填充数组:

int[][] arr2 = new int[n][];
for(int i = 0; i < n; i++){
    arr2[i] = new int[size];
}
Run Code Online (Sandbox Code Playgroud)

您可以将2D数组视为数组数组,例如:

private Card[][] allPlayerHands;
public Card[] getHand(int playerNumber) {
    return allPlayerHands[playerNumber];
}
Run Code Online (Sandbox Code Playgroud)

这是关于2D数组的一个很好的Stack Overflow问题:

在Java中初始化多维数组