【发布时间】:2015-02-11 14:23:03
【问题描述】:
private Map<String, List<Object>> resultSetToArrayList(ResultSet rs) throws SQLException {
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
Map<String, List<Object>> map = new HashMap<>(columns);
for (int i = 1; i <= columns; ++i) {
map.put(md.getColumnName(i), new ArrayList<>());
}
while (rs.next()) {
for (int i = 1; i <= columns; ++i) {
map.get(md.getColumnName(i)).add(rs.getObject(i));
}
}
return map; }
我正在使用上面的代码将我的结果集的结果存储到一个集合中。有两个 SQL 查询生成两个不同的结果集和不同数量的行。我想编写一个代码来消除相等的行,并根据它们中最少的差异来打印成对的行。不同的列应该用方括号括起来。
有人可以帮忙吗? 任何帮助将不胜感激。
【问题讨论】:
-
为什么要从结果集中删除相同的行?这样写查询你不会得到类似的行。
-
我将有两个 Map
>,我想将每一行与每一行进行比较。并且只想看到彼此不同的行。不是那些相同的。
标签: java database dictionary resultset