作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我必须创建一个未知大小的二维数组。所以我决定使用 2d ArrayList,问题是我不确定如何初始化这样的数组或存储信息。
假设我有以下数据
0 connects 1
2 connects 3
4 connects 5
....等到大量的随机连接
我想插入
true(1) into [0][1],
true(1) into [2][3],
true(1) into [4][5].
数组能否自动为我更新列/行
感谢任何帮助
最佳答案
I'm not sure how to initialize such an array or store information.
例如:
List<List<Integer>> twoDim = new ArrayList<List<Integer>>();
twoDim.add(Arrays.asList(0, 1, 0, 1, 0));
twoDim.add(Arrays.asList(0, 1, 1, 0, 1));
twoDim.add(Arrays.asList(0, 0, 0, 1, 0));
或者如果你喜欢这样的话:
List<List<Integer>> twoDim = new ArrayList<List<Integer>>() {{
add(Arrays.asList(0, 1, 0, 1, 0));
add(Arrays.asList(0, 1, 1, 0, 1));
add(Arrays.asList(0, 0, 0, 1, 0));
}};
要插入新行,您需要这样做
twoDim.add(new ArrayList<Integer>());
并在您执行的特定行
上附加另一个元素
twoDim.get(row).add(someValue);
这是一个更完整的例子:
import java.util.*;
public class Test {
public static void main(String[] args) {
List<List<Integer>> twoDim = new ArrayList<List<Integer>>();
String[] inputLines = { "0 1 0 1 0", "0 1 1 0 1", "0 0 0 1 0" };
for (String line : inputLines) {
List<Integer> row = new ArrayList<Integer>();
Scanner s = new Scanner(line);
while (s.hasNextInt())
row.add(s.nextInt());
twoDim.add(row);
}
}
}
关于java - 如何用整数填充 java 中的二维 ArrayList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5022824/
我是一名优秀的程序员,十分优秀!