我想知道如果可能的话,创建相同大小的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
}
}
也许这很明显,但我希望这能帮助那些人。
答案 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问题:
答案 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()
您将获得内容
的单独尺寸