Java 如何动态填充二维数组

Java 如何动态填充二维数组,java,arrays,Java,Arrays,我想用以下模式显示resultset值: objectrowdata[][]={{{url,tags,text},{url,tags,text} 我的代码是: while (res.next()) { String url = res.getString(1); String tags = res.getString(2); String text = res.getString(3); } Object rowData[][] = { { "Row1-Column1",

我想用以下模式显示resultset值:

objectrowdata[][]={{{url,tags,text},{url,tags,text}

我的代码是:

while (res.next()) {
    String url = res.getString(1);
    String tags = res.getString(2);
    String text = res.getString(3);
}
Object rowData[][] = { { "Row1-Column1", "Row1-Column2", "Row1-Column3" },
                { "Row2-Column1", "Row2-Column2", "Row2-Column3" } };

Object columnNames[] = { "URL", "Tag Information", "Text" };
JTable table = new JTable(rowData, columnNames);`

看看这个简单的例子:

public static void main(String[] args) {

    int rows    = 3; //res.getCount() ?
    int columns = 3;

    Object[][] rawData = new Object[rows][columns];

    for(int row = 0; row < rows; row++){
        rawData[row][0] = row + " - url";
        rawData[row][1] = row + " - tags";
        rawData[row][2] = row + " - text";
    }

    System.out.println(Arrays.toString(rawData[0])); // print first row
}
publicstaticvoidmain(字符串[]args){
int rows=3;//res.getCount()?
int列=3;
对象[][]rawData=新对象[行][列];
对于(int row=0;row

循环内部的字符串连接是一个非常糟糕的主意,但这应该只是一个示例,下面是conde代码片段,可用于实现您想要的功能。

int rowcount = 0;
if (res.last()) {
    rowcount = res.getRow();
    res.beforeFirst();
}
Object rowData[][] = new Object[rowcount][];
int count = 0;
while (res.next()) {
    rowData[count] = new Object[]    {res.getString(1),res.getString(1),res.getString(3)};  
    count++;
}
Object columnNames[] = { "URL", "Tag Information", "Text" };
JTable table = new JTable(rowData, columnNames);

使用列表存储每个数据文件,然后将列表转换为数组:

List<Object[]> data = new ArrayList<Object[]>();
while (res.next()) {
    data.add(new Object[]{res.getString(1), res.getString(2),res.getString(3)});
}

Object[][] rowData = data.toArray(new Object[0][0]);
JTable table = new JTable(rowData, columnNames);
List data=new ArrayList();
while(res.next()){
add(新对象[]{res.getString(1)、res.getString(2)、res.getString(3)});
}
Object[][]rowData=data.toArray(新对象[0][0]);
JTable table=新的JTable(行数据、列名称);

请为您的代码使用
那种样式。更具可读性。请你再描述一下你对这本书的理解。因为它不够清楚,无法理解你想要什么@第h部分我想在数组“rowData”中添加reslut集值,如果结果集返回两个值,那么数组将是对象rowData[]={{url,tags,text},{url,tags,text};url、标记、文本是我的数据库冒号名称为什么它需要是动态的?@christoff Passer每次结果集都会给出不同的值,这就是为什么我需要根据这些值创建数组。