JTable 接受vector時只顯示資料的第一行

2021-06-22 13:27:29 字數 788 閱讀 8257

今天整個晚上都在想為什麼我的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...