【发布时间】:2013-04-05 05:44:21
【问题描述】:
我有 String ArrayList 可以与结果集进行比较。
例如:ArrayList 元素
ITM001
ITM002
ITM003
ITM004
例如:结果集 1
ITM001
ITM002
ITM003
ITM004
包含所有元素
返回 ArrayList 空;
例如:结果集 2
ITM001
ITM002
ITM004
缺少 ITM003
返回 ArrayList ITM003;
例如:结果集 3
ITM001
ITM002
缺少 ITM003、ITM004
返回 ArrayList ITM003,ITM004;
如果Resultset 不包含Arraylist 的所有元素,则那些缺失的 元素必须作为 ArrayList 返回。否则返回空 ArrayList。
这是我尝试过的。
public static ArrayList<String> checkStoreItems(String currentStore, ArrayList<String> stlist) throws ClassNotFoundException, SQLException {
Connection conn = DBConnection.conn();
String sql = "select itemId from Store_Items where storeID=(select storeID from StoreMain where locationName=?)";
Object []values ={currentStore};
ResultSet res = DBHandller.getData(sql, conn, values);
ArrayList<String> storelist = new ArrayList<String>();
while(res.next()){
String item = res.getString("itemId");
for (int i = 0; i < stlist.size(); i++) {
if (item.contains(stlist.get(i))) {
continue;
}else{
storelist.add(item);
}
}
}
return null;
}
【问题讨论】:
-
对我们来说确切的问题是什么?
-
stlist来自哪里? -
我想将 Arraylist 的内容与 ResultsSet 进行比较。如果结果集不包含 Arraylist 的任何元素,则那些缺失的元素必须作为 Arraylist 返回。我该怎么做。
-
stlist是什么?为什么不使用list.contains()而不是循环? -
更新了原始代码。 stlist 是一个方法参数。带有字符串元素的数组列表。
标签: java arraylist compare resultset