获取多维数组的值

时间:2019-07-08 09:59:57

标签: java

以下方法返回多维数组。

public List<ArrayList<ArrayList<String>>> getData(String sql, List<String> columns) {
    this.driver();
    try {
        Connection conn = DriverManager.getConnection(this.url);
        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery(sql);

        List<ArrayList<ArrayList<String>>> result = new ArrayList<>();

        while (rs.next()) {
            ArrayList<ArrayList<String>> rows = new ArrayList<>();
            for (String column : columns) {
                ArrayList<String> col = new ArrayList<>();
                col.add(column);
                rows.add(col);
            }
            for (ArrayList<String> i : rows) {
                i.add(rs.getString(i.toString().replaceAll("[\\[\\]]", "")));
            }
            result.add(rows);
        }

        return result;

    }
    catch (SQLException e) {
        e.printStackTrace();
    }
    return null;
}

我使用以下方法运行此方法:

public List<ArrayList<ArrayList<String>>> getAll() {
    Database database = new Database();
    List<String> columns = Arrays.asList("comment", "name");
    return database.getData("SELECT * FROM zt_productions.comments", columns);
}

返回看起来像这样:

  

[[[comment,Hello World],[name,Kitt]],[[comment,Something],[name,Someone]]]

我想获取值Hello World

我尝试过

for (ArrayList<ArrayList<String>> getRow : getAll()) {
    for(ArrayList<String> getColumn : getRow) {
        for (String getValue : getColumn) {
            System.out.println(getValue);
        }
    }
}

但是它给了我所有的价值。

0 个答案:

没有答案