1.一個使用鏈式結(jié)構(gòu),一個使用順序結(jié)構(gòu)。?
2.8。
3.ABCD。
4.選用HashMap<K,V>來存儲。
5.
import java.util.*;
class UFlashKey implements Comparable {
???double d=0;
???UFlashKey (double d) {
?????this.d=d;
???}
???public int compareTo(Object b) {
?????UFlashKey st=(UFlashKey)b;
?????if((this.d-st.d)==0)
????????return -1;
?????else
????????return (int)((this.d-st.d)*1000);
??}
}
class UFlash {
????String name=null;
????double capacity,price;
????UFlash(String s,double m,double e) {
???????name=s;
???????capacity=m;
???????price=e;
????}
}
public class Xiti5?{
???public static void main(String args[ ]) {
??????TreeMap<UFlashKey,UFlash> ?treemap= new TreeMap<UFlashKey,UFlash>();
??????String str[]={"U1","U2","U3","U4","U5","U6","U7","U8","U9","U10"};
??????double capacity[]={1,2,2,4,0.5,10,8,4,4,2};
??????double price[]={30,66,90,56,50,149,120,80,85,65};
??????UFlash UFlash[]=new UFlash[10];
??????for(int k=0;k<UFlash.length;k++) {
?????????UFlash[k]=new UFlash(str[k],capacity[k],price[k]);
??????}
??????UFlashKey key[]=new UFlashKey[10] ;
??????for(int k=0;k<key.length;k++) {
?????????key[k]=new UFlashKey(UFlash[k].capacity); //關(guān)鍵字按容量成績排列大小
??????}
??????for(int k=0;k<UFlash.length;k++) {
?????????treemap.put(key[k],UFlash[k]); ?????????
??????}
??????int number=treemap.size();
??????System.out.println("樹映射中有"+number+"個對象,按容量成績排序:");
??????Collection<UFlash> collection=treemap.values();
??????Iterator<UFlash> iter=collection.iterator();
??????while(iter.hasNext()) {
?????????UFlash stu=iter.next();
?????????System.out.println("U盤 "+stu.name+" 容量 "+stu.capacity);
??????}
??????treemap.clear();
??????for(int k=0;k<key.length;k++) {
?????????key[k]=new UFlashKey(UFlash[k].price);//關(guān)鍵字按價格成績排列大小
??????}
??????for(int k=0;k<UFlash.length;k++) {
?????????treemap.put(key[k],UFlash[k]);
??????}
??????number=treemap.size();
??????System.out.println("樹映射中有"+number+"個對象:按價格成績排序:");
??????collection=treemap.values();
??????iter=collection.iterator();
??????while(iter.hasNext()) {
?????????UFlash stu=(UFlash)iter.next();
?????????System.out.println("U盤 "+stu.name+" 價格 "+stu.price);
??????}
????}
}
1.
(1)創(chuàng)建數(shù)據(jù)源
選擇“控制面板”→“管理工具”→“ODBC數(shù)據(jù)源”(某些window/xp系統(tǒng),需選擇“控制面板”→“性能和維護”→“管理工具”→“ODBC數(shù)據(jù)源”)。雙擊ODBC數(shù)據(jù)源圖標,選擇“系統(tǒng)DSN”或“用戶DSN”,單擊“添加”按鈕,可以創(chuàng)建新的數(shù)據(jù)源。
(2) 數(shù)據(jù)源選擇驅(qū)動程序
選擇單擊“添加”按鈕,出現(xiàn)為新增的數(shù)據(jù)源選擇驅(qū)動程序界面,如果要訪問Access數(shù)據(jù)庫,選擇Microsoft Acess Driver(*.mdb)。單擊完成按鈕。
(3) 數(shù)據(jù)源名稱及對應數(shù)據(jù)庫的所在位置
在設(shè)置數(shù)據(jù)源具體項目的對話框,在名稱欄里為數(shù)據(jù)源起一個自己喜歡的名字。這個數(shù)據(jù)源就是指某個數(shù)據(jù)庫。在“數(shù)據(jù)庫選擇”欄中選擇一個已經(jīng)準備好的數(shù)據(jù)庫。
2.參照本章例子14.2。
3.參照本章例子14.3。
4.參照本章例子14.4。
5.使用預處理語句不僅減輕了數(shù)據(jù)庫的負擔,而且也提高了訪問數(shù)據(jù)庫的速度。
6.事務由一組SQL語句組成,所謂事務處理是指:應用程序保證事務中的SQL語句要么全部都執(zhí)行,要么一個都不執(zhí)行。步驟:
(1)使用setAutoCommit(boolean autoCommit)方法
con對象首先調(diào)用setAutoCommit(boolean autoCommit)方法,將參數(shù)autoCommit取值false來關(guān)閉默認設(shè)置:
con.setAutoCommit(false);
(2) 使用commit()方法。con調(diào)用commit()方法就是讓事務中的SQL語句全部生效。
(3) 使用rollback()方法。con調(diào)用rollback()方法撤消事務中成功執(zhí)行過的SQL語句對數(shù)據(jù)庫數(shù)據(jù)所做的更新、插入或刪除操作,即撤消引起數(shù)據(jù)發(fā)生變化的SQL語句操作,將數(shù)據(jù)庫中的數(shù)據(jù)恢復到commi()方法執(zhí)行之前的狀態(tài)。
7.參照本章例子14.2。