嘿,我想返回一个Arraylist的Arraylist,就像一个带有行和列的二维表。ArrayList内部就像列,而外部是行,但是我得到的唯一数据是同一行重复的数字我有几排 例如,如果我有5行不同的数据,它将打印第一行5次, 如果我有2个,它将打印2次,等等。为什么这样,以及如何迭代到下一行,假设我在第1行中有数据:Str1,Str2,Str3 在第2行:str 4,str5,str6: 它只会同时打印str 1,2,3 2次。 它不是在添加静态对象,而是在添加一个结果集,据我所知它不是静态的,或者如果它是静态的,我该如何获取下一个类似的东西,它应该从az返回整个数据,如:第1行:列1,2,3,然后第2行:1,2,3列 我想迭代直到我到达最后一行
编辑:如果我添加和rs.next();在添加到外部之后,我只能得到以前的一半,但仍然一样?
ArrayList<ArrayList<String>> outer = new ArrayList<>();
ArrayList<String> inner = new ArrayList<>();
PreparedStatement stmt = conn.prepareStatement("SELECT * FROM"
+ " prescription WHERE cpr =?");
stmt.setString(1, cpr);
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
inner.add(rs.getString(5));
inner.add(rs.getString(6));
inner.add(rs.getString(7));
inner.add(rs.getString(8));
inner.add(rs.getString(3));
inner.add(rs.getString(4));
outer.add(inner);
}
return outer;