Java 将列值获取到数组中

Java 将列值获取到数组中,java,sql,sqlite,Java,Sql,Sqlite,我有一个数据库表,列有:姓名、住所、联系人。我只想将“联系人列”中的值检索到数组中。以下代码是我编写的: List l = new ArrayList(); try { String sql = "select * from members"; pst = conn.prepareStatement(sql); rs = pst.executeQuery(); while (rs.next()) { String con = rs.getStrin

我有一个数据库表,列有:姓名、住所、联系人。我只想将“联系人列”中的值检索到数组中。以下代码是我编写的:

List l = new ArrayList();
try {
    String sql = "select * from members";
    pst = conn.prepareStatement(sql);
    rs = pst.executeQuery();
    while (rs.next()) {
        String con = rs.getString("Contact");
        l.add(con);
        System.out.println(l);
    }
} catch (Exception e) {
    e.getMessage();
}
但这会产生以下结果:

[0547615632]
[0547615632, 0246687643]
[0547615632, 0246687643, 0558581764]
而我在表中只有3条记录,每条记录都有一个联系人值。
请告诉我如何编写代码,以便只能得到一个数组来显示结果,如下所示:


非常感谢。

您应该将打印命令移出while循环:

List l = new ArrayList();
try {
    String sql = "select * from members";
    pst = conn.prepareStatement(sql);
    rs = pst.executeQuery();
    while (rs.next()) {
        String con = rs.getString("Contact");
        l.add(con);
    }
} catch (Exception e) {
    e.getMessage();
}
System.out.println(l);

仅在每次迭代中打印当前元素

List l = new ArrayList();
try {
    String sql = "select * from members";
    pst = conn.prepareStatement(sql);
    rs = pst.executeQuery();
    while (rs.next()) {
        String con = rs.getString("Contact");
        l.add(con);
        System.out.print(con + " ");
    }
} catch (Exception e) {
    e.getMessage();
}

您应该将打印命令移出while循环:

List l = new ArrayList();
try {
    String sql = "select * from members";
    pst = conn.prepareStatement(sql);
    rs = pst.executeQuery();
    while (rs.next()) {
        String con = rs.getString("Contact");
        l.add(con);
    }
} catch (Exception e) {
    e.getMessage();
}
System.out.println(l);

仅在每次迭代中打印当前元素

List l = new ArrayList();
try {
    String sql = "select * from members";
    pst = conn.prepareStatement(sql);
    rs = pst.executeQuery();
    while (rs.next()) {
        String con = rs.getString("Contact");
        l.add(con);
        System.out.print(con + " ");
    }
} catch (Exception e) {
    e.getMessage();
}

将查询更改为
Select contact from members
我做了那个bro,但我仍然得到相同的3个数组。因为每次迭代都会打印数组。打印循环后的数组或仅打印当前元素。如下面的答案所示,将查询更改为
Select contact from members
我这样做了,但是我仍然得到了相同的3个数组。因为每次迭代都会打印数组。打印循环后的数组或仅打印当前元素。如下面的答案所示,非常感谢@Emre Acer,它工作得非常好。谢谢你allbro请引导我。。我是一个新来的。请问我该去哪里?我必须点击什么链接才能接受你的答案@EmreAcerI通过它搜索兄弟。。我认为我没有获得接受答案的特权。因为我看不到任何可以让我这么做的选择。你在吗facebook@RodneyNart这不需要特权,但没关系,我的朋友。我很高兴我解决了你的问题。祝你好运非常感谢@Emre Acer,它工作得非常好。谢谢你allbro请引导我。。我是一个新来的。请问我该去哪里?我必须点击什么链接才能接受你的答案@EmreAcerI通过它搜索兄弟。。我认为我没有获得接受答案的特权。因为我看不到任何可以让我这么做的选择。你在吗facebook@RodneyNart这不需要特权,但没关系,我的朋友。我很高兴我解决了你的问题。祝你好运