我如何用 java 中的 m(rows)、n(cols) 初始化二维数组?
How do i initialize a 2D Array with m(rows), n(cols) in java?
我想初始化一个大小为 2n-1(行),n(列)的二维数组列表
int num = 3;
// declare an arrayList of ArrayLists or 2D ArrayList
ArrayList<ArrayList<Integer>> list =
new ArrayList<ArrayList<Integer>>(num);
以上语法是创建大小为Num*Num的2D ArrayList。
在数组中,我们使用 M*N 进行初始化,同样可以使用 ArrayList 进行初始化吗?如果是,怎么做?
我想用 M*N 初始化语法。
与必须初始化为固定长度的数组不同,ArrayList 可以动态增长,您不必担心 M 和 N 来初始化它。当你想填充 ArrayList 时你会担心,如果将集合填充到 M 和 N 是你的特定要求,那么在 ArrayList 之后这样做已宣布。所以,ArrayList<ArrayList<Integer>> list = new ArrayList<>();
就是你所需要的。
有多种方法可以将 ArrayList 填充到您想要的 M(行)和 N(列)。这是一种相对不错的视觉方式。
ArrayList<ArrayList<Integer>> list = new ArrayList<>();
ArrayList<Integer> innerList;
int m = 20; // Rows
int n = 10; // Columns
int incrementer = 1;
for (int i = 0; i < m; i++) {
innerList = new ArrayList<>();
for (int j = 0; j < n; j++) {
innerList.add(j + incrementer);
}
list.add(innerList);
incrementer ++;
}
// Now to display (print) the 2D ArrayList into the Console Window:
for (ArrayList<Integer> inner : list) {
for (Integer ints : inner) {
System.out.printf("%-3s ", ints);
}
System.out.println();
}
控制台应显示:
1 2 3 4 5 6 7 8 9 10
2 3 4 5 6 7 8 9 10 11
3 4 5 6 7 8 9 10 11 12
4 5 6 7 8 9 10 11 12 13
5 6 7 8 9 10 11 12 13 14
6 7 8 9 10 11 12 13 14 15
7 8 9 10 11 12 13 14 15 16
8 9 10 11 12 13 14 15 16 17
9 10 11 12 13 14 15 16 17 18
10 11 12 13 14 15 16 17 18 19
11 12 13 14 15 16 17 18 19 20
12 13 14 15 16 17 18 19 20 21
13 14 15 16 17 18 19 20 21 22
14 15 16 17 18 19 20 21 22 23
15 16 17 18 19 20 21 22 23 24
16 17 18 19 20 21 22 23 24 25
17 18 19 20 21 22 23 24 25 26
18 19 20 21 22 23 24 25 26 27
19 20 21 22 23 24 25 26 27 28
20 21 22 23 24 25 26 27 28 29
我想初始化一个大小为 2n-1(行),n(列)的二维数组列表
int num = 3;
// declare an arrayList of ArrayLists or 2D ArrayList
ArrayList<ArrayList<Integer>> list =
new ArrayList<ArrayList<Integer>>(num);
以上语法是创建大小为Num*Num的2D ArrayList。
在数组中,我们使用 M*N 进行初始化,同样可以使用 ArrayList 进行初始化吗?如果是,怎么做?
我想用 M*N 初始化语法。
与必须初始化为固定长度的数组不同,ArrayList 可以动态增长,您不必担心 M 和 N 来初始化它。当你想填充 ArrayList 时你会担心,如果将集合填充到 M 和 N 是你的特定要求,那么在 ArrayList 之后这样做已宣布。所以,ArrayList<ArrayList<Integer>> list = new ArrayList<>();
就是你所需要的。
有多种方法可以将 ArrayList 填充到您想要的 M(行)和 N(列)。这是一种相对不错的视觉方式。
ArrayList<ArrayList<Integer>> list = new ArrayList<>();
ArrayList<Integer> innerList;
int m = 20; // Rows
int n = 10; // Columns
int incrementer = 1;
for (int i = 0; i < m; i++) {
innerList = new ArrayList<>();
for (int j = 0; j < n; j++) {
innerList.add(j + incrementer);
}
list.add(innerList);
incrementer ++;
}
// Now to display (print) the 2D ArrayList into the Console Window:
for (ArrayList<Integer> inner : list) {
for (Integer ints : inner) {
System.out.printf("%-3s ", ints);
}
System.out.println();
}
控制台应显示:
1 2 3 4 5 6 7 8 9 10
2 3 4 5 6 7 8 9 10 11
3 4 5 6 7 8 9 10 11 12
4 5 6 7 8 9 10 11 12 13
5 6 7 8 9 10 11 12 13 14
6 7 8 9 10 11 12 13 14 15
7 8 9 10 11 12 13 14 15 16
8 9 10 11 12 13 14 15 16 17
9 10 11 12 13 14 15 16 17 18
10 11 12 13 14 15 16 17 18 19
11 12 13 14 15 16 17 18 19 20
12 13 14 15 16 17 18 19 20 21
13 14 15 16 17 18 19 20 21 22
14 15 16 17 18 19 20 21 22 23
15 16 17 18 19 20 21 22 23 24
16 17 18 19 20 21 22 23 24 25
17 18 19 20 21 22 23 24 25 26
18 19 20 21 22 23 24 25 26 27
19 20 21 22 23 24 25 26 27 28
20 21 22 23 24 25 26 27 28 29