我有一个像这样的多维数组:
String[][] A = {{"a","b","c","d"}};
Run Code Online (Sandbox Code Playgroud)
我需要将值附加到像这样的数组
while(rs.next()){
A.add(rs.getString(1)); -->e
A.add(rs.getString(1)); -->f
A.add(rs.getString(1)); -->g
A.add(rs.getString(1)); -->h
}
Run Code Online (Sandbox Code Playgroud)
我需要像这样的结果数组:
Sting[][] A = {{"a","b","c","d"},{"e","f","g","h"}}
Run Code Online (Sandbox Code Playgroud)
此外,我们无法预测while(...)可能包含多个值,如
Sting[][] A = {{"a","b","c","d"},{"e","f","g","h"},{"A","B","C","D"},......}
Run Code Online (Sandbox Code Playgroud)
我知道A.add不会在这里工作.如何动态地实现这一点?请帮我
你不能,因为数组的大小是固定的,并且它是在你第一次初始化它为1行4列时确定的.如果您需要具有动态长度的数组结构,请使用ArrayList.
如果内部数组具有固定长度(在您的示例中似乎为4),则可以使用包含数组的ArrayList:
List<String[]> A = new ArrayList<String[]>();
// repeat this as many times as you need
String[] arr = new String[4];
arr[0]=...
arr[1]=...
arr[2]=...
arr[3]=...
A.add(arr);
Run Code Online (Sandbox Code Playgroud)
如果列数不是常数,请使用ArrayList<ArrayList<String>>.
完成填充后,这是将List转换为数组的一种方法:
String[][] array = new String[A.size()][4];
int i=0;
for (String[] arr : A) {
array[i] = arr;
i++;
}
Run Code Online (Sandbox Code Playgroud)