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