今天整個晚上都在想為什麼我的jtable只顯示一行資料
我把資料庫單獨寫成乙個類
用乙個返回值型別為arraylist的函式select出相應資料
public arraylistonline() throws sqlexception
return list;
}
之後在介面中new jtable將此arraylist轉化成vector傳入發現只顯示一行資料
namelist = db.online();
defaulttablemodel dtm = (defaulttablemodel)table.getmodel();
v.addall(namelist);
dtm.addrow(v);
原因是 此時vector中資料形式是[a,b,c,d]
需要把它拆成乙個個vector
for(int i= 0;iv = new vector();
v.add(namelist.get(i));
dtm.addrow(v);
}
每次new乙個vector表中加乙個
這些本來應該在while(rs.next!)中寫的,但是我把資料庫類和介面類拆開寫了,傳遞的值是arraylist所以出現了這個問題
不過也由此得知table一行就是乙個vector,這別的人沒有提到(<-.<-當然,這是預設知道的嘛....)
vector儲存結構體時排序和查詢
vector是乙個很強大的容器,include後就可以直接使用許多演算法,如排序 查詢等,但是當vector內部儲存結構體時,這些演算法就就不能直接使用了 如定義結構體如下 struct mydata string name float value 只需要定義乙個比較函式 bool operator...
使用標準模板庫中的vector時需要注意的地方
stl中的vector用起來很方便,但是對其正確使用是使用方便的前提。根據c 的發明者bjarne stroustrup的忠告自我總結一下 vector的原型vector class std vector vector提供的資源 a vector是給程式設計師提供容器,可以容納其模板類的陣列 b v...
vector中資料型別為指標時的記憶體釋放
vector中資料型別為指標時,需要將內部指標釋放,否則會造成記憶體的洩露,釋放的方式有兩種 方法1vector int a.while a.empty 方法2 vector int a.for auto it a.begin it a.end it 測試發現,方法 2 遠比方法 1 速度更快 當v...