電子教案專業(yè)知識公開課一等獎優(yōu)質(zhì)課大賽微課獲獎?wù)n件_第1頁
電子教案專業(yè)知識公開課一等獎優(yōu)質(zhì)課大賽微課獲獎?wù)n件_第2頁
電子教案專業(yè)知識公開課一等獎優(yōu)質(zhì)課大賽微課獲獎?wù)n件_第3頁
電子教案專業(yè)知識公開課一等獎優(yōu)質(zhì)課大賽微課獲獎?wù)n件_第4頁
電子教案專業(yè)知識公開課一等獎優(yōu)質(zhì)課大賽微課獲獎?wù)n件_第5頁
已閱讀5頁,還剩47頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第7章 慣用實(shí)用類1.Date類2.Calendar類3.Math類與Biglnteger類4.LinkedList泛型類5.HashSet泛型類6.HashMap泛型類7.TreeSet泛型類8.TreeMap泛型類9.Stack泛型類第1頁7.1 Date類 1Date對象 Date類在java.util包中。使用Date類無參數(shù)結(jié)構(gòu)方 法創(chuàng)建對象能夠獲取當(dāng)?shù)禺?dāng)前時間。 用Date結(jié)構(gòu)方法Date(long time)創(chuàng)建Date對象表 示相對1970年1月1日0點(diǎn)(GMT)時間,比如參數(shù) time取值60*60*1000秒表示Thu Jan 01 01:00:00 GMT 1970。 能

2、夠用System類靜態(tài)方法 public long第2頁 currentTimeMillis()獲取系統(tǒng)當(dāng)前時間,這個時間是從1970.年1月1日0點(diǎn)(GMT)到當(dāng)前時刻所走過毫秒數(shù)(這是一個不小數(shù))。能夠依據(jù)currentTimeMillis()方法得到數(shù)字,用Date結(jié)構(gòu)方法Date(long time)來創(chuàng)建一個當(dāng)?shù)厝掌贒ate對象。 2格式化時間 Date對象表示時間默認(rèn)次序是:星期、月、日、小時、分、秒、年。比如: Sat Apr 28 21:59:38 CST 。 我們可能希望按著某種習(xí)慣來輸出時間,比如時間序 :年 月 星期 日或年 月 星期 日 小時 分 秒。 第3頁 這時能夠

3、使用DateFormat子類SimpleDateFormat來實(shí)現(xiàn)日期格式化。SimpleDateFormat有一個慣用結(jié)構(gòu)方法: public SimpleDateFormat(String pattern)。 該結(jié)構(gòu)方法能夠用參數(shù)pattern指定格式創(chuàng)建一個對 象,該對象調(diào)用: format(Date date) 方法格式化時間對象date。 第4頁 需要注意是,pattern中應(yīng)該含有一些有效字符序列。比如: ly或yy 表示用2位數(shù)字輸出年份;yyyy表示用4位數(shù)字輸出年份。 lM 或MM 表示用2為數(shù)字或文本輸出月份,假如想用漢字輸出月份,pattern中應(yīng)連續(xù)包含最少3個M,如:

4、MMM。 ld 或dd 表示用2位數(shù)字輸出日。 lH或HH 表示用兩位數(shù)字輸出小時。 lm或mm 表示用兩位數(shù)字輸出分。 ls或ss 表示用兩位數(shù)字輸出秒。 l E 表示用字符串輸出星期。 第5頁 在下面例子1中,我們用三種格式輸出時間。 上述程序輸出結(jié)果: 現(xiàn)在時間:Thu Sep 02 09:33:55 CST 現(xiàn)在時間: time:-09-02 goodTime:-09月-星期四02日-09:時33:分55:秒 北京時間 現(xiàn)在時間:北京時間02日09時九月 55秒33分星期四- 3600秒表示日期時間是:Thu Jan 01 07:59:56 CST 1970- 1800秒表示日期時間是

5、:Thu Jan 01 07:59:58 CST 1970 返回第6頁7.2 Calendar類 Calendar類在java.util包中。使用Calendar類static方法getInstance()能夠初始化一個日歷對象,如: Calendar calendar= Calendar.getInstance(); 然后,calendar對象能夠調(diào)用方法: public final void set(int year,int month,int date) public final void set(int year,int month,int date,int hour,int minu

6、te) public final void set(int year,int month, int date, int hour, int minute,int second)第7頁 將日歷翻到任何一個時間,當(dāng)參數(shù)year取負(fù)數(shù)時表示公元前。 calendar對象調(diào)用方法: public int get(int field) 能夠獲取相關(guān)年份、月份、小時、星期等信息,參數(shù)field有效值由Calendar靜態(tài)常量指定,比如: calendar.get(Calendar.MONTH); 返回一個整數(shù),假如該整數(shù)是0表示當(dāng)前日歷是在一月,該整數(shù)是1表示當(dāng)前日歷是在二月等。第8頁 日歷對象調(diào)用 pu

7、blic long getTimeInMillis() 能夠?qū)r間表示為毫秒。 下面例子2使用Calendar來表示時間。并計算了年和1949年之間相隔天數(shù)。 上述程序輸出結(jié)果: 現(xiàn)在時間是: 9月2日 星期4 9時38分30秒 年10月1日和1949年10月1日相隔20454天 下面例子3輸出年10月日歷頁。 返回第9頁7.3 Math類與BigInteger類 1Math類 在編寫程序時,可能需要計算一個數(shù)平方根、絕對值、獲取一個隨機(jī)數(shù)等等。java.lang包中類包含許多用來進(jìn)行科學(xué)計算類方法,這些方法能夠直接經(jīng)過類名調(diào)用。另外,Math類還有兩個靜態(tài)常量,E和PI,它們值分別是: 2.

8、7182828284590452354 和 3.14159265358979323846。第10頁 以下是Math類慣用方法:lpublic static long abs(double a) 返回a絕對值。l public static double max(double a,double b) 返回a、 b最大值。lpublic static double min(double a,double b) 返回a、b最小值。lpublic static double random() 產(chǎn)生一個0到1之間隨機(jī)數(shù)(不包含0和1)。lpublic static double pow(double a

9、,double b) 返回ab次冪。第11頁l public static double sqrt(double a) 返回a平方根。l public static double log(double a) 返回a對數(shù)。l public static double sin(double a) 返回正弦值。l public static double asin(double a) 返回反正弦值。 有時我們可能需要對輸出數(shù)字結(jié)果進(jìn)行必要格式 化,比如,對于3.14356789,我們希望保留小數(shù)位為3位、整數(shù)部分最少要顯示3位,即將3.14356789格式化為003.144。 能夠使用java.te

10、xt包中NumberFormat類,該類調(diào)用類方法: public static final NumberFormat getInstance()第12頁l 實(shí)例化一個NumberFormat對象,該對象調(diào)用l public final String format(double number)l方法能夠格式化數(shù)字number。l NumberFormat類有以下慣用方法:l public void setMaximumFractionDigits(int newValue)l public void setMinimumFractionDigits(int newValue)l public

11、void setMaximumIntegerDigits(int newValue)l public void setMinimumIntegerDigits(int newValue) 第13頁 在下面例子4中我們用一定格式輸出5平方根,經(jīng)過一個20次循環(huán),每次獲取1到8之間一個隨機(jī)數(shù)。 2BigInteger類 程序有時需要處理大整數(shù),java.math包中BigInteger類提供任意精度整數(shù)運(yùn)算。能夠使用結(jié)構(gòu)方法: public BigInteger(String val) 結(jié)構(gòu)一個十進(jìn)制BigInteger對象。該結(jié)構(gòu)方法能夠發(fā)生NumberFormatException異常,也就是

12、說,字符串參數(shù)val中假如含有非數(shù)字字母就會發(fā)生NumberFormatException異常。 第14頁 以下是BigInteger類慣用方法: public BigInteger add(BigInteger val) 返回當(dāng)前大整數(shù)對象與參數(shù)指定大整數(shù)對象和。 public BigInteger subtract(BigInteger val) 返回當(dāng)前大整數(shù)對象與參數(shù)指定大整數(shù)對象差。 public BigInteger multiply(BigInteger val) 返回當(dāng)前大整數(shù)對象與參數(shù)指定大整數(shù)對象積。 public BigInteger divide(BigInteger

13、val) 返回當(dāng)前大整數(shù)對象與參數(shù)指定大整數(shù)對象商。第15頁 public BigInteger remainder(BigInteger val) 返回當(dāng)前大整數(shù)對象與參數(shù)指定大整數(shù)對象余。 public int compareTo(BigInteger val) 返回當(dāng)前大整數(shù)對象與參數(shù)指定大整數(shù)比較結(jié)果,返回值是1、-1或0,分別表示當(dāng)前大整數(shù)對象大于、小于或等于參數(shù)指定大整數(shù)。 public BigInteger abs() 返回當(dāng)前大整數(shù)對象絕對值。 public BigInteger pow(int exponent) 返回當(dāng)前大整數(shù)對象exponent次冪。第16頁 public

14、 String toString() 返回當(dāng)前大整數(shù)對象 十進(jìn)制字符串表示。 public String toString(int p) 返回當(dāng)前大整數(shù)對象p進(jìn)制字符串表示。 在下面例子5中,計算了2個大整數(shù)和、差、積和商,并計算出了一個大整數(shù)因子個數(shù)(因子中不包含1和大整數(shù)本身)。 返回第17頁7.4 LinkedList泛型類 使用LinkedList泛型類能夠創(chuàng)建鏈表結(jié)構(gòu)數(shù)據(jù)對 象。鏈表是由若干個節(jié)點(diǎn)組成一個數(shù)據(jù)結(jié)構(gòu),每個節(jié)點(diǎn)含有一個數(shù)據(jù)和下一個節(jié)點(diǎn)引用(單鏈表),或含有一個數(shù)據(jù)并含有上一個節(jié)點(diǎn)引用和下一個節(jié)點(diǎn)引用(雙鏈表),節(jié)點(diǎn)索引從0開始。鏈表適合動態(tài)地改變它存放數(shù)據(jù),如,增加、刪除

15、節(jié)點(diǎn)等。 第18頁 1LinkedList對象 java.util 包中LinkedList泛型類創(chuàng)建對象以鏈表結(jié)構(gòu)存放數(shù)據(jù),習(xí)慣上稱LinkedList類創(chuàng)建對象為鏈表對象。比如, LinkedList mylist=new LinkedList(); 創(chuàng)建一個空雙鏈表。然后mylist能夠使用add(String obj)方法向鏈表依次增加節(jié)點(diǎn),節(jié)點(diǎn)中數(shù)據(jù)是參數(shù)obj指定對象引用。 第19頁 比如: mylist.add(“How”); mylist.add(“Are”); mylist.add(“You”); mylist.add(“Java”); 這時,雙鏈表mylist就有了有個節(jié)點(diǎn)

16、,節(jié)點(diǎn)是自動連 接在一起,不需要我們?nèi)プ鲞B接,也就是說,不需 要我們?nèi)ゲ僮靼才殴?jié)點(diǎn)中所存放下一個或上一個節(jié)點(diǎn)引用。 第20頁 2慣用方法 以下是LinkedList泛型類一些慣用方法。 public boolean add(E element) 向鏈表末尾添加一個新節(jié)點(diǎn),該節(jié)點(diǎn)中數(shù)據(jù)是參數(shù)elememt指定對象。 public void add(int index ,E element) 向鏈表指定位置添加一個新節(jié)點(diǎn),該節(jié)點(diǎn)中數(shù)據(jù)是參數(shù)elememt指定對象。 public void addFirst(E element) 向鏈表頭添加新節(jié)點(diǎn),該節(jié)點(diǎn)中數(shù)據(jù)是參數(shù)elememt指定對象。第21頁

17、 public E removeFirst() 刪除第一個節(jié)點(diǎn),并返回這個節(jié)點(diǎn)中對象。 public E removeLast() 刪除最終一個節(jié)點(diǎn)對象,并返回這個節(jié)點(diǎn)中對象。 public E get(int index) 得到鏈表中指定位置處節(jié)點(diǎn)中對象。 public E getFirst() 得到鏈表中第一個節(jié)點(diǎn)中對象。 public E getLast() 得到鏈表中最終一個節(jié)點(diǎn)中對象。 public int indexOf(E element) 返回含有數(shù)據(jù)element節(jié)點(diǎn)在鏈表中首次出現(xiàn)位置,假如鏈表中無此節(jié)點(diǎn)則返回-1。第22頁 public int lastIndexOf(E

18、 element) 返回含有數(shù)據(jù)element節(jié)點(diǎn)在鏈表中最終出現(xiàn)位置,假如鏈表中無此節(jié)點(diǎn)則返回-1。 public E set(int index ,E element) 將當(dāng)前鏈表index位置節(jié)點(diǎn)中對象element替換為參數(shù)element指定對象。并返回被替換對象。 public int size() 返回鏈表長度,即節(jié)點(diǎn)個數(shù)。 public boolean contains(Object element) 判斷鏈表節(jié)點(diǎn)中是否有節(jié)點(diǎn)含有對象element。 第23頁 public Object clone() 得到當(dāng)前鏈表一個克隆鏈表, 該克隆鏈表中節(jié)點(diǎn)數(shù)據(jù)改變不會影響到當(dāng)前鏈表中節(jié)點(diǎn)

19、數(shù)據(jù),反之亦然。 下述例子6使用了上述一些方法。 3遍歷鏈表 例子6借助get方法實(shí)現(xiàn)了遍歷鏈表。我們能夠借助泛型 類Iterator實(shí)現(xiàn)遍歷鏈表,一個鏈表對象能夠使用iterator()方法返回一個Iterator類型對象,假如鏈表是“Student類型”鏈表,即鏈表節(jié)點(diǎn)中數(shù)據(jù)是Student類創(chuàng)建對象,那么該鏈表使用iterator()方法返回一個Iterator類型對象,該對象使用next()方法遍歷鏈表。在下面例子7中,我們把學(xué)生成績存放在一個鏈表中,并實(shí)現(xiàn)了遍歷鏈表。 第24頁 4LinkedList泛型類實(shí)現(xiàn)接口 LinkedList泛型類實(shí)現(xiàn)了泛型接口List,而List接口由是

20、Collection接口子接口。LinkedList類中絕大部分方法都是接口方法實(shí)現(xiàn)。編程時,能夠使用接口回調(diào)技術(shù),即把LinkedList對象引用賦值給Collection接口變量或List接口變量,那么接口就能夠調(diào)用類實(shí)現(xiàn)接口方法。 第25頁5SDK1.5之前LinkedList類 JDK1.5之前沒有泛型LinkedList類,能夠用普通 LinkedList創(chuàng)建一個鏈表對象,比如: LinkedList mylist=new LinkedList(); 創(chuàng)建了一個空雙鏈表。然后mylist鏈表能夠使用add(Object obj)方法向這個鏈表依次添加節(jié)點(diǎn)。因?yàn)槿魏晤惗际荗bject類

21、子類,所以能夠把任何一個對象作為鏈表節(jié)點(diǎn)中對象。 第26頁 需要注意是當(dāng)使用get()獲取一個節(jié)點(diǎn)中對象,要用類型轉(zhuǎn)換運(yùn)算符轉(zhuǎn)換回原來類型。Java泛型主要目標(biāo)是能夠建立含有類型安全集合框架,如鏈表、散列表等數(shù)據(jù)結(jié)構(gòu),最主要一個優(yōu)點(diǎn)就是:在使用這些泛型類建立數(shù)據(jù)結(jié)構(gòu)時,無須進(jìn)行強(qiáng)制類型轉(zhuǎn)換,即不要求進(jìn)行運(yùn)行時類型檢驗(yàn)。SDK1.5是支持泛型編譯器,它將運(yùn)行時類型檢驗(yàn)提前到編譯時執(zhí)行,使代碼更安全。假如你使用舊版本LinkedList類,1.5編譯器會給出警告信息,但程序仍能正確運(yùn)行。下面是使用舊版本LinkedList例子。 返回第27頁7.5 HashSet泛型類 HashSet泛型類在數(shù)據(jù)

22、組織上類似數(shù)學(xué)上集合,能夠進(jìn)行“交”、“并”、“差”等運(yùn)算。 1HashSet對象 HashSet泛型類創(chuàng)建對象稱作集合,比如 HashSet set= HashSet(); 那么,set就是一個能夠存放String類型數(shù)據(jù)集合, set能夠調(diào)用add(String s)方法將String類型數(shù)據(jù)添加 到集合中,添加到集合中數(shù)據(jù)稱做集合元素。 第28頁 集合不允許有相同元素,也就是說,假如b已經(jīng)是集 合中元素,那么再執(zhí)行set.add(b)操作是無效。集 合對象初始容量是16個字節(jié),裝載因子是0.75,也 就是說,假如集合添加元素超出總?cè)萘?5%時,集合容量將增加一倍。 2慣用方法 publi

23、c boolean add(E o) 向集合添加參數(shù)指定元素。 public void clear() 清空集合,使集合不含有任何元素。 public boolean contains(Object o) 判斷參數(shù)指定數(shù)據(jù)是否屬于集合。 public boolean isEmpty() 判斷集合是否為空。 第29頁 public boolean remove(Object o) 集合刪除參數(shù)指定元素。 public int size() 返回集合中元素個數(shù)。 Object toArray() 將集合元素存放到數(shù)組中,并返回這個數(shù)組。 boolean containsAll(HanshSet s

24、et) 判斷當(dāng)前集合是否包含參數(shù)指定集合。 public Object clone() 得到當(dāng)前集合一個克隆對象,該對象中元素改變不會影響到當(dāng)前集合中元素,反之亦然。 第30頁 3集合交、并與差 集合對象調(diào)用boolean addAll(HashSet set)方法能夠和參數(shù)指定集合求并運(yùn)算,使得當(dāng)前集合成為兩個集合并。 集合對象調(diào)用boolean boolean retainAll (HashSet set)方法能夠和參數(shù)指定集合求交運(yùn)算,使得當(dāng)前集合成為兩個集合交。 集合對象調(diào)用boolean boolean boolean removeAll (HashSet set)方法能夠和參數(shù)指定

25、集合求差運(yùn)算,使得當(dāng)前集合成為兩個集合差 參數(shù)指定集合必須和當(dāng)前集合是同種類型集合,不然上述方法返回false。 第31頁 下面例子10求2個集合A、B對稱差集合,即求。 上述程序運(yùn)行結(jié)果: A和B對稱差集合有4個元素: 4,6,3,5, 4HashSet泛型類實(shí)現(xiàn)接口 HashSet泛型類實(shí)現(xiàn)了泛型接口Set,而 Set接口由是Collection接口子接口。 HashSet類中絕大部分方法都是接口方法實(shí)現(xiàn)。編程時,能夠使用接口回調(diào)技術(shù),即把HashSet對象引用賦值給Collection接口變量或Set接口變量,那么接口就能夠調(diào)用類實(shí)現(xiàn)接口方法。返回第32頁7.6 HashMap泛型類 H

26、ashMap也是一個很實(shí)用類, HashMap對象采取散列表這種數(shù)據(jù)結(jié)構(gòu)存放數(shù)據(jù),習(xí)慣上稱HashMap對象為散列映射對象。散列映射用于存放鍵/值數(shù)據(jù)對,允許把任何數(shù)量鍵/值數(shù)據(jù)對存放在一起。鍵不能夠發(fā)生邏輯沖突,即不要兩個數(shù)據(jù)項使用相同鍵,假如出現(xiàn)兩個數(shù)據(jù)項對應(yīng)相同鍵,那么,先前散列映射中鍵/值對將被替換。散列映射在它需要更多存放空間時會自動增大容量。 第33頁 比如,假如散列映射裝載因子是0.75,那么當(dāng)散列映射容量被使用了75%時,它就把容量增加到原始容量倍。對于數(shù)組和鏈表這兩種數(shù)據(jù)結(jié)構(gòu),假如要查找它們存放某個特定元素卻不知道它位置,就需要從頭開始訪問元素直到找到匹配為止;假如數(shù)據(jù)結(jié)構(gòu)中

27、包含很多元素,就會浪費(fèi)時間。這時最好使用散列映射來存放要查找數(shù)據(jù),使用散列映射能夠降低檢索開銷。第34頁 1HashMap對象 HashMap泛型類創(chuàng)建對象稱作散列映射,比如: HashMap hashtable= HashMap(); 那么,hashtable就能夠存放“鍵/值”對數(shù)據(jù),其中鍵必須是一個String對象,鍵對應(yīng)值必須是Student對象。hashtable能夠調(diào)用public V put(K key,V value)將鍵/值對數(shù)據(jù)存放到散列映射中,該方法同時返回鍵所對應(yīng)值。第35頁 2慣用方法 public void clear() 清空散列映射。 public Object

28、 clone() 返回當(dāng)前散列映射一個克隆。 public boolean containsKey(Object key) 假如散列映射有鍵/值對使用了參數(shù)指定鍵,方法返回true,不然返回false。 public boolean containsValue(Object value) 假如散列映射有鍵/值正確值是參數(shù)指定值,方法返回true,不然返回false。 第36頁 public V get(Object key) 返回散列映射中使用key做鍵鍵/值對中值。 public boolean isEmpty() 假如散列映射不含任何鍵/值對,方法返回true,不然返回false。 pub

29、lic V remove(Object key) 刪除散列映射中鍵為參數(shù)指定鍵/值對,并返回鍵對應(yīng)值。 public int size() 返回散列映射大小,即散列映射中鍵/值正確數(shù)目。 第37頁 3遍歷散列映射 假如想取得散列映射中全部鍵/值對中值,首先使用 public Collection values() 方法返回一個實(shí)現(xiàn)Collection接口類創(chuàng)建對象引用,并要求將該對象引用返回到Collection接口變量中。values()方法返回對象中存放了散列映射中全部“鍵/值”對中“值”,這么接口變量就能夠調(diào)用類實(shí)現(xiàn)方法,比如獲取Iterator對象,然后輸出全部值。 下面例子11使用了

30、散列映射慣用方法,并遍歷了散列映射。第38頁 4HashMap泛型類實(shí)現(xiàn)接口 HashMap泛型類實(shí)現(xiàn)了泛型接口Map,HashMap類中絕大部分方法都是Map接口方法實(shí)現(xiàn)。編程時,能夠使用接口回調(diào)技術(shù),即把HashMap對象引用賦值給Map接口變量,那么接口就能夠調(diào)用類實(shí)現(xiàn)接口方法。 返回第39頁7.7 TreeSet泛型類 TreeSet 類是實(shí)現(xiàn)Set接口類,它大部分方法都是接口方法實(shí)現(xiàn)。TreeSet 泛型類創(chuàng)建對象稱作樹集,比如 TreeSet tree= TreeSet (); 那么,tree就是一個能夠存放Student類型數(shù)據(jù)集合,tree能夠調(diào)用add(String s)方法

31、將Student類型數(shù)據(jù)添加到樹集中,存放到樹集中對象按對象串表示升序排列。以下是TreeSet 類慣用方法: 第40頁 public boolean add(E o) 向樹集添加加對象,添加成功返回true,不然返回false。 public void clear() 刪除樹集中全部對象。 public void contains(Object o) 假如包含對象o方法返回true,不然返回false 。 public E first() 返回樹集中第一個對象(最小對象)。 public E last() 返回最終一個對象(最大對象)。第41頁 public isEmpty() 判斷是否是空

32、樹集,假如樹集不含對象返回true 。 public boolean remove(Object o) 刪除樹集中對象o。 public int size() 返回樹集中對象數(shù)目。 但很多對象不適合按著字符串排列大小。對象調(diào)用toString()方法就能夠取得自己字符串表示,比如一個文本框(TextField)字符串表示是: java.awt.TextFieldtextfield0,0,0,0 x0,invalid,text=,editable,selection=0-0 假如讓文本框按著字符串來比較大小似乎無任何意義。 第42頁 我們在創(chuàng)建樹集時可自己要求樹集中對象按著什么樣“大小”次序排列

33、。假如我們有四個學(xué)生對象,他們有姓名和成績,我們想把這四個對象添加到樹集中,并按著成績高低排列,而不是按著姓名字典序排列節(jié)點(diǎn)。 首先創(chuàng)建學(xué)生Student類能夠?qū)崿F(xiàn)接口:Comparable。Comparable接口中有一個方法: public int compareTo(Object b); Student類經(jīng)過實(shí)現(xiàn)這個接口來要求它創(chuàng)建對象大小關(guān)系,以下所表示: 第43頁class Student implements Comparable int english=0; String name; Student(int e,String n) english=e;name=n; public int compareTo(Object b) Student st=(Student)b; return (this.english-st.english); 第44頁 Comparator是java.util包中一個接口,compare是接口中方法,所以匿名類方法體必須實(shí)現(xiàn)接口中方法(相關(guān)匿名類可參見第5章,13節(jié))。當(dāng)mytree每次添加對象時,都會再調(diào)用接口中方法實(shí)現(xiàn)對象大小相互比較,mytree調(diào)用接口方法過程對編程人員是不可見,Sun企業(yè)在編寫開發(fā)TreeSet類時已經(jīng)實(shí)現(xiàn)了這一機(jī)制。 下面例子12把Student對象添加到樹集中,并按著成績高低排列。第

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論