Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将resultSet转换为arrayList并打印出来_Java_Sqlite_Jdbc - Fatal编程技术网

Java 将resultSet转换为arrayList并打印出来

Java 将resultSet转换为arrayList并打印出来,java,sqlite,jdbc,Java,Sqlite,Jdbc,我正在尝试将包含2列的结果集转换为数组列表。检查我的代码,然后打印出来。为此,我制作了一个2列5行的小表格 问题是我的测试打印输出是原始表格的5倍。所以现在我很困惑。我转换结果集的方式是错误的还是打印错误?有人能帮忙吗 代码: publicstaticvoidpartner(){ ArrayList结果=新建ArrayList(); String select=“从个人中选择ID、年龄,其中年龄介于20和40之间”+ “和Familienstand是2阶随机()极限5”; DBControlle

我正在尝试将包含2列的结果集转换为数组列表。检查我的代码,然后打印出来。为此,我制作了一个2列5行的小表格

问题是我的测试打印输出是原始表格的5倍。所以现在我很困惑。我转换结果集的方式是错误的还是打印错误?有人能帮忙吗

代码:

publicstaticvoidpartner(){
ArrayList结果=新建ArrayList();
String select=“从个人中选择ID、年龄,其中年龄介于20和40之间”+
“和Familienstand是2阶随机()极限5”;
DBController dbc=DBController.getInstance();
initDBConnection();
试一试{
语句stmt=DBController.connection.createStatement();
结果集rs=stmt.executeQuery(选择);
int columnCount=rs.getMetaData().getColumnCount();
while(rs.next()){
int[]行=新的int[列计数];
对于(int i=0;i
您在
ArrayList
上有一个嵌套迭代,这意味着您在
ArrayList
上迭代多次(次数为
ArrayList
size()

您只需要一个for循环:

    for (int[] arr : result) {
        System.out.println(Arrays.toString(arr));
    }
或单个while循环:

    Iterator<int[]> it = result.iterator();
    while (it.hasNext()) {
        System.out.println(Arrays.toString(it.next()));
    }
Iterator it=result.Iterator();
while(it.hasNext()){
System.out.println(Arrays.toString(it.next());
}

并非两者都有。

您在
ArrayList
上有一个嵌套迭代,这意味着您在
ArrayList
上迭代了多次(次数是
ArrayList
size()

您只需要一个for循环:

    for (int[] arr : result) {
        System.out.println(Arrays.toString(arr));
    }
或单个while循环:

    Iterator<int[]> it = result.iterator();
    while (it.hasNext()) {
        System.out.println(Arrays.toString(it.next()));
    }
Iterator it=result.Iterator();
while(it.hasNext()){
System.out.println(Arrays.toString(it.next());
}

并非两者都有。

只为
保留一个循环,或者在
循环时为
保留一个循环

   for (int[] arr : result) {
        System.out.println(Arrays.toString(arr));
    }

只为
保留一个循环,或在
循环时保留一个循环

   for (int[] arr : result) {
        System.out.println(Arrays.toString(arr));
    }

你为什么要用它;我不需要使用它来获取arrayList中的下一个元素吗?在遍历结果的两次过程中,如果它包含更多值,hasNext()将返回true,请尝试我的答案代码,并告诉我它是否工作,为什么要使用它。next();我不必使用它来获取arrayList中的下一个元素吗?在遍历结果的两次过程中,如果它包含更多的值,它.hasNext()将返回true,请尝试我的回答代码,并让我知道它是否有效。非常感谢。我不能+1,因为我没有足够的分数。但如果可以的话,我会的。您的代码运行得很好。非常感谢。我不能+1,因为我没有足够的分数。但如果可以的话,我会的。你的代码运行得很好。对你和对可汗都一样。非常感谢,你和可汗也一样。非常感谢。