创建n个数组

时间:2011-02-23 21:27:08

标签: java arrays sorting multidimensional-array

我想知道如果可能的话,创建相同大小的n个数组。非常感谢帮助。例如:我想创建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
    }

}

也许这很明显,但我希望这能帮助那些人。

4 个答案:

答案 0 :(得分:5)

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

int n;
int size;
int[][] arr = new int[size][n];

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

for(int i =0;i < arr.length; i++) {
    for(int j = 0; i < arr[i].length; j++) {
        arr[i][j] = someValue;
    }
}

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

int[][] arr2 = new int[n][];
for(int i = 0; i < n; i++){
    arr2[i] = new int[size];
}

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

private Card[][] allPlayerHands;
public Card[] getHand(int playerNumber) {
    return allPlayerHands[playerNumber];
}

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

  

Initialising a multidimensional array in Java

答案 1 :(得分:3)

2D阵列就是答案。让我试着解释

你需要向5个不同的人处理,即int人[5]。

现在考虑,每5个人有5张卡,即

Guy 1: 1,2,3,4,5
Guy 2: 1,2,3,4,5
Guy 3: 1,2,3,4,5
Guy 4: 1,2,3,4,5
Guy 5: 1,2,3,4,5

people[1]: 1,2,3,4,5
people[2]: 1,2,3,4,5
people[3]: 1,2,3,4,5
people[4]: 1,2,3,4,5
people[5]: 1,2,3,4,5

people[5][5]

现在如果你必须访问,那么第1人的卡3就是

people[0][2] // u know its zero based aray

答案 2 :(得分:0)

答案 3 :(得分:0)

int [] i = {1,2,3,4,5}

int [] j = i.clone()

您将获得内容

的单独尺寸