我檢索從數據庫中的值,需要被添加到列表,然後基於其值的特定鍵,例如地圖的數量,如何根據類的值將類的對象添加到哈希映射?
row 1 name = "A" category = "1"
row 2 name = "B" category = "2"
row 3 name = "C" category = "1"
row 4 name = "D" category = "3"
我需要把ROW1和行3在一個列表中,第二行和第四行分別在一個單獨的列表中,然後 將這三個列表放入MAP中,並使用類別名稱(1,2,3)作爲MAP的關鍵字。
MAP
1 LIST1 (values of 2 rows)
2 LIST2 (values of 1 row)
3 LIST3 (values of 1 row)
我不知道如何將它們添加到列表和MAP。 我的約束是,不是每次檢索值時都會檢索相同的行,因此每次我可能需要不同數量的列表來保留已檢索的每個類別的值。
我的代碼以下,
ResultSet rs = st.executeQuery(SelectRows);
Map map = new HashMap();
if(rs.next())
{
item.setRowID(rs.getString("ID"));
item.setName(rs.getString("Name"));
item.setValue(rs.getString("Value"));
item.setCat(rs.getString("Cat"));
if(!map.containsKey(rs.getString("Cat"))){
map.put(rs.getString("CatID"), new ArrayList());
}
map.get(rs.getString("CatID")).add(row);
}
最後一行運行到這個錯誤>「」的方法添加(行)是未定義的類型對象。 即使我將對象添加到列表中,我遇到同樣的錯誤,方法add(List)對於類型Object而言是未定義的。
@ HussainAl-Mutawa,我試圖將它們添加到MAP,但因爲每次我得到不同的cateogotries不知道如何創建列表和設置MAP的關鍵。 –
我的意思是,你可以顯示你的代碼。嘗試解決問題時可能會出錯。 – user1406062
@ HussainAl-Mutawa,感謝您的回答,我編輯了這個問題。 –