public HashMap viewTableData(String tabName)
{
ArrayList<String> arrayList = new ArrayList<String>();
ArrayList<String> arrayList2 = new ArrayList<String>();
ArrayList<String> arrayList3 = new ArrayList<String>();
ArrayList<String> arrayList4 = new ArrayList<String>();
HashMap discoverMap = new HashMap();
try {
int i=1;
con = DAOConnection.sqlconnection();
stmt = con.createStatement();
stmt = con.createStatement();
query = "SELECT * FROM "+tabName;
System.out.println("Qry executed");
ps = con.prepareStatement(query);
rs = ps.executeQuery(query);
while(rs.next()){
while(i<=4){
arrayList.add(rs.getString(i));
//arrayList2.add(rs.getString(2));
discoverMap.put("qrycol"+i, arrayList);
i++;
}
}
// discoverMap.put("qrycol1", arrayList);
// discoverMap.put("qrycol2",arrayList2);
System.out.println("Map result:"+discoverMap);
} catch (SQLException ex) {
Logger.getLogger(Query.class.getName()).log(Level.SEVERE, null, ex);
//return null;
}
return discoverMap;
}
在這裏你可以看到,我已經寫了一個方法,它將從數據庫表中取值並放入Hashmap中。如何將數組列表以動態方式放入哈希表中?
如果我初始化4個不同的arraylist,並添加rs.getString(1),rs.getString(2),...那麼它的工作正常。但我想要一些動態的功能,它會創建願望arraylist並添加rs.getString(i)。 但它運行但沒有獲得慾望輸出。 此處發現地圖顯示結果:地圖結果:{qrycol1 = [1,Indranil,Banerjee,[email protected]],qrycol3 = [1,Indranil,Banerjee,indranil1111 @ gmail.com],qrycol2 = [1,Indranil,Banerjee ,[email protected]],qrycol4 = [1,Indranil,班納吉,[email protected]]}
但是對於下面示出願望輸出代碼:
public HashMap viewTableData(String tabName)
{
ArrayList<String> arrayList = new ArrayList<String>();
ArrayList<String> arrayList2 = new ArrayList<String>();
ArrayList<String> arrayList3 = new ArrayList<String>();
ArrayList<String> arrayList4 = new ArrayList<String>();
HashMap discoverMap = new HashMap();
try {
int i=1;
con = DAOConnection.sqlconnection();
stmt = con.createStatement();
stmt = con.createStatement();
query = "SELECT * FROM "+tabName;
System.out.println("Qry executed");
ps = con.prepareStatement(query);
rs = ps.executeQuery(query);
while(rs.next()){
arrayList.add(rs.getString(1));
arrayList2.add(rs.getString(2));
arrayList3.add(rs.getString(3));
arrayList4.add(rs.getString(4));
}
discoverMap.put("qrycol1", arrayList);
discoverMap.put("qrycol2",arrayList2);
discoverMap.put("qrycol3",arrayList3);
discoverMap.put("qrycol4",arrayList4);
System.out.println("Map result:"+discoverMap);
}
catch (SQLException ex) {
Logger.getLogger(Query.class.getName()).log(Level.SEVERE, null, ex);
//return null;
}
return discoverMap;
}
地圖結果:{qrycol1 = [ 1,2,3,4,6,5,7,8],qrycol3 = [Banerjee,JJJ,Saun,Gupta,efgh,aaaa,姓氏22,Sir],qrycol2 = [Indranil,pora,trao,Som,James, Anup,Abhi,Mia],qrycol4 = [[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected]。 com,[email protected]]}
這實際上是正確的,但我想動態地。由於我們始終無法假定有多少數量級的數據需要。 如果有人對此有所幫助,這將非常有幫助。提前致謝 。
數據庫表結構:有4列,類型爲varchar(但它可以爲其他表不同,這就是爲什麼我問這個問題。)
謝謝BOND。你幫了我很多。 –